Created
September 30, 2015 19:06
-
-
Save rareddy/3ea33f0983496389fa18 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
============================================================================ | |
USER COMMAND: | |
SELECT p.UserName AS x, pf.UserName AS y FROM trippin.People AS p INNER JOIN trippin.People_Friends AS pf ON p.UserName = pf.People_UserName LIMIT 100 | |
---------------------------------------------------------------------------- | |
OPTIMIZE: | |
SELECT p.UserName AS x, pf.UserName AS y FROM trippin.People AS p INNER JOIN trippin.People_Friends AS pf ON p.UserName = pf.People_UserName LIMIT 100 | |
---------------------------------------------------------------------------- | |
GENERATE CANONICAL: | |
SELECT p.UserName AS x, pf.UserName AS y FROM trippin.People AS p INNER JOIN trippin.People_Friends AS pf ON p.UserName = pf.People_UserName LIMIT 100 | |
CANONICAL PLAN: | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y]}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName]}) | |
Source(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING PlaceAccess | |
AFTER: | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y]}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName]}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000}) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]]}) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING PushNonJoinCriteria | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName]}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING CleanCriteria | |
AFTER: | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=null}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName], OUTPUT_COLS=null}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=null}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=null}) | |
============================================================================ | |
EXECUTING RaiseAccess | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName], OUTPUT_COLS=null}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null}) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null}) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING CopyCriteria | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName], OUTPUT_COLS=null, IS_COPIED=true}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING CleanCriteria | |
AFTER: | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=null}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName], OUTPUT_COLS=null, IS_COPIED=true}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=null}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=null}) | |
============================================================================ | |
EXECUTING PlanJoins | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=null}) | |
Select(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={SELECT_CRITERIA=p.UserName = pf.People_UserName, EST_SELECTIVITY=0.037}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=CROSS JOIN, JOIN_STRATEGY=NESTED_LOOP}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=null, EST_COL_STATS={p.UserName=[-1.0, -1.0], p.FirstName=[-1.0, -1.0], p.LastName=[-1.0, -1.0], p.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null, ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=null, EST_COL_STATS={pf.UserName=[-1.0, -1.0], pf.FirstName=[-1.0, -1.0], pf.LastName=[-1.0, -1.0], pf.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
============================================================================ | |
EXECUTING PushSelectCriteria | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=null}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName]}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING RaiseAccess | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName]}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null, ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING org.teiid.query.optimizer.relational.rules.RulePlanOuterJoins@2cb435f5 | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[p.UserName = pf.People_UserName]}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING ChooseJoinStrategy | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[]}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING ChooseDependent | |
LOW [Relational Planner] unsatisfied access pattern detected - marking as dependent side of join Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null, ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0} | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=null, EST_COL_STATS={p.UserName=[-1.0, -1.0], p.FirstName=[-1.0, -1.0], p.LastName=[-1.0, -1.0], p.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
Select(groups=[trippin.People_Friends AS pf], props={SELECT_CRITERIA=pf.People_UserName IN (<dependent values>), IS_DEPENDENT_SET=true}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, ACCESS_PATTERNS=[Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]]], OUTPUT_COLS=null, ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [pf.People_UserName] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING PushSelectCriteria | |
AFTER: | |
TupleLimit(groups=[]) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null, ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0, IS_DEPENDENT_SET=true}) | |
Select(groups=[trippin.People_Friends AS pf], props={SELECT_CRITERIA=pf.People_UserName IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=null, EST_COL_STATS={pf.UserName=[-1.0, -1.0], pf.FirstName=[-1.0, -1.0], pf.LastName=[-1.0, -1.0], pf.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
============================================================================ | |
EXECUTING CleanCriteria | |
AFTER: | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=null}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2, OUTPUT_COLS=null}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=null, EST_COL_STATS={p.UserName=[-1.0, -1.0], p.FirstName=[-1.0, -1.0], p.LastName=[-1.0, -1.0], p.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=null, ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0, IS_DEPENDENT_SET=true}) | |
Select(groups=[trippin.People_Friends AS pf], props={SELECT_CRITERIA=pf.People_UserName IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=null}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=null, EST_COL_STATS={pf.UserName=[-1.0, -1.0], pf.FirstName=[-1.0, -1.0], pf.LastName=[-1.0, -1.0], pf.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
============================================================================ | |
EXECUTING AssignOutputElements | |
AFTER: | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[p.UserName AS x, pf.UserName AS y]}) | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=[p.UserName AS x, pf.UserName AS y]}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2, OUTPUT_COLS=[p.UserName, pf.UserName]}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[p.UserName], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=[p.UserName], EST_COL_STATS={p.UserName=[-1.0, -1.0], p.FirstName=[-1.0, -1.0], p.LastName=[-1.0, -1.0], p.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[pf.People_UserName, pf.UserName], ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0, IS_DEPENDENT_SET=true}) | |
Select(groups=[trippin.People_Friends AS pf], props={SELECT_CRITERIA=pf.People_UserName IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=[pf.People_UserName, pf.UserName]}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=[pf.People_UserName, pf.UserName], EST_COL_STATS={pf.UserName=[-1.0, -1.0], pf.FirstName=[-1.0, -1.0], pf.LastName=[-1.0, -1.0], pf.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
============================================================================ | |
EXECUTING PushLimit | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=[p.UserName AS x, pf.UserName AS y], SOURCE_HINT=null}) | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[p.UserName, pf.UserName]}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2, OUTPUT_COLS=[p.UserName, pf.UserName]}) | |
Access(groups=[trippin.People AS p]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Select(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING CalculateCost | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p], props={PROJECT_COLS=[p.UserName AS x, pf.UserName AS y], OUTPUT_COLS=[p.UserName AS x, pf.UserName AS y], SOURCE_HINT=null, EST_CARDINALITY=100.0, EST_COL_STATS={p.UserName AS x=[100.0, 1.0], pf.UserName AS y=[100.0, 1.0]}}) | |
TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[p.UserName, pf.UserName], EST_CARDINALITY=100.0, EST_COL_STATS={p.UserName=[100.0, 0.0], pf.UserName=[100.0, 0.0]}}) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2, OUTPUT_COLS=[p.UserName, pf.UserName], EST_CARDINALITY=-1.0}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[p.UserName], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=[p.UserName], EST_COL_STATS={p.UserName=[-1.0, -1.0], p.FirstName=[-1.0, -1.0], p.LastName=[-1.0, -1.0], p.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[pf.People_UserName, pf.UserName], ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0, IS_DEPENDENT_SET=true}) | |
Select(groups=[trippin.People_Friends AS pf], props={SELECT_CRITERIA=pf.People_UserName IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=[pf.People_UserName, pf.UserName], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=[pf.People_UserName, pf.UserName], EST_COL_STATS={pf.UserName=[-1.0, -1.0], pf.FirstName=[-1.0, -1.0], pf.LastName=[-1.0, -1.0], pf.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
============================================================================ | |
EXECUTING ImplementJoinStrategy | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
TupleLimit(groups=[]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2, OUTPUT_COLS=[p.UserName, pf.UserName], EST_CARDINALITY=-1.0, IS_LEFT_DISTINCT=true}) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[p.UserName], EST_CARDINALITY=-1.0}) | |
Sort(groups=[], props={SORT_ORDER=ORDER BY p.UserName, OUTPUT_COLS=[p.UserName]}) | |
Source(groups=[trippin.People AS p], props={OUTPUT_COLS=[p.UserName], EST_COL_STATS={p.UserName=[-1.0, -1.0], p.FirstName=[-1.0, -1.0], p.LastName=[-1.0, -1.0], p.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[pf.People_UserName, pf.UserName], ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0, IS_DEPENDENT_SET=true}) | |
Sort(groups=[], props={SORT_ORDER=ORDER BY pf.People_UserName, OUTPUT_COLS=[pf.People_UserName, pf.UserName]}) | |
Select(groups=[trippin.People_Friends AS pf], props={SELECT_CRITERIA=pf.People_UserName IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=[pf.People_UserName, pf.UserName], EST_CARDINALITY=-1.0}) | |
Source(groups=[trippin.People_Friends AS pf], props={OUTPUT_COLS=[pf.People_UserName, pf.UserName], EST_COL_STATS={pf.UserName=[-1.0, -1.0], pf.FirstName=[-1.0, -1.0], pf.LastName=[-1.0, -1.0], pf.Emails=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) | |
============================================================================ | |
EXECUTING MergeCriteria | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
TupleLimit(groups=[]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf]) | |
Access(groups=[trippin.People AS p]) | |
Sort(groups=[]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Sort(groups=[]) | |
Select(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING PlanSorts | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
TupleLimit(groups=[]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[p.UserName = pf.People_UserName], LEFT_EXPRESSIONS=[p.UserName], RIGHT_EXPRESSIONS=[pf.People_UserName], NON_EQUI_JOIN_CRITERIA=[], DEPENDENT_VALUE_SOURCE=$dsc/id2, OUTPUT_COLS=[p.UserName, pf.UserName], EST_CARDINALITY=-1.0, IS_LEFT_DISTINCT=true}) | |
Access(groups=[trippin.People AS p]) | |
Sort(groups=[]) | |
Source(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
Sort(groups=[]) | |
Select(groups=[trippin.People_Friends AS pf]) | |
Source(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
EXECUTING CollapseSource | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
TupleLimit(groups=[]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf]) | |
Access(groups=[trippin.People AS p], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[p.UserName], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=SELECT p.UserName FROM trippin.People AS p ORDER BY p.UserName}) | |
Access(groups=[trippin.People_Friends AS pf], props={SOURCE_HINT=null, MODEL_ID=Schema name=trippin, nameInSource=null, uuid=tid:504e52bcc3ea-c0d78f50-00000000, OUTPUT_COLS=[pf.People_UserName, pf.UserName], ACCESS_PATTERN_USED=Access Pattern: Unsatisfied [] History [[pf.People_UserName]], REQUIRED_ACCESS_PATTERN_GROUPS=[trippin.People AS p], EST_CARDINALITY=-1.0, IS_DEPENDENT_SET=true, ATOMIC_REQUEST=SELECT pf.People_UserName, pf.UserName FROM trippin.People_Friends AS pf WHERE pf.People_UserName IN (<dependent values>) ORDER BY pf.People_UserName}) | |
============================================================================ | |
EXECUTING AccessPatternValidation | |
AFTER: | |
Project(groups=[trippin.People_Friends AS pf, trippin.People AS p]) | |
TupleLimit(groups=[]) | |
Join(groups=[trippin.People AS p, trippin.People_Friends AS pf]) | |
Access(groups=[trippin.People AS p]) | |
Access(groups=[trippin.People_Friends AS pf]) | |
============================================================================ | |
CONVERTING PLAN TREE TO PROCESS TREE | |
PROCESS PLAN = | |
ProjectNode(0) output=[p.UserName AS x, pf.UserName AS y] [p.UserName AS x, pf.UserName AS y] | |
LimitNode(1) output=[p.UserName, pf.UserName] limit 100 | |
JoinNode(2) [Dependent] [MERGE JOIN (ALREADY_SORTED/ALREADY_SORTED)] [INNER JOIN] criteria=[p.UserName=pf.People_UserName] output=[p.UserName, pf.UserName] | |
AccessNode(3) output=[p.UserName] SELECT trippin.People.UserName FROM trippin.People ORDER BY trippin.People.UserName | |
DependentAccessNode(4) output=[pf.People_UserName, pf.UserName] SELECT trippin.People_Friends.People_UserName, trippin.People_Friends.UserName FROM trippin.People_Friends WHERE trippin.People_Friends.People_UserName IN (<dependent values>) ORDER BY trippin.People_Friends.People_UserName | |
============================================================================ | |
---------------------------------------------------------------------------- | |
OPTIMIZATION COMPLETE: | |
PROCESSOR PLAN: | |
ProjectNode(0) output=[p.UserName AS x, pf.UserName AS y] [p.UserName AS x, pf.UserName AS y] | |
LimitNode(1) output=[p.UserName, pf.UserName] limit 100 | |
JoinNode(2) [Dependent] [MERGE JOIN (ALREADY_SORTED/ALREADY_SORTED)] [INNER JOIN] criteria=[p.UserName=pf.People_UserName] output=[p.UserName, pf.UserName] | |
AccessNode(3) output=[p.UserName] SELECT trippin.People.UserName FROM trippin.People ORDER BY trippin.People.UserName | |
DependentAccessNode(4) output=[pf.People_UserName, pf.UserName] SELECT trippin.People_Friends.People_UserName, trippin.People_Friends.UserName FROM trippin.People_Friends WHERE trippin.People_Friends.People_UserName IN (<dependent values>) ORDER BY trippin.People_Friends.People_UserName | |
============================================================================ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment