diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/LogicalSubQueryAliasToLogicalProject.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/LogicalSubQueryAliasToLogicalProject.java index 990d6aee87e93d..235d2d64d98df1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/LogicalSubQueryAliasToLogicalProject.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/LogicalSubQueryAliasToLogicalProject.java @@ -20,6 +20,8 @@ import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.rules.rewrite.OneRewriteRuleFactory; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalCatalogRelation; import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.util.Utils; @@ -33,11 +35,17 @@ public class LogicalSubQueryAliasToLogicalProject extends OneRewriteRuleFactory @Override public Rule build() { return RuleType.LOGICAL_SUB_QUERY_ALIAS_TO_LOGICAL_PROJECT.build( - logicalSubQueryAlias().then(subQueryAlias -> - new LogicalProject<>( - Utils.fastToImmutableList(subQueryAlias.getOutput()), subQueryAlias.child() - ) - ) - ); + logicalSubQueryAlias().then(subQueryAlias -> { + Plan child = subQueryAlias.child(); + String alias = subQueryAlias.getAlias(); + + // If child is a LogicalCatalogRelation, set the tableAlias + if (child instanceof LogicalCatalogRelation) { + child = ((LogicalCatalogRelation) child).withTableAlias(alias); + } + + return new LogicalProject<>( + Utils.fastToImmutableList(subQueryAlias.getOutput()), child); + })); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalEsScanToPhysicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalEsScanToPhysicalEsScan.java index 1e4db2eba11810..d1dbe3f4984cce 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalEsScanToPhysicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalEsScanToPhysicalEsScan.java @@ -30,14 +30,15 @@ public class LogicalEsScanToPhysicalEsScan extends OneImplementationRuleFactory { @Override public Rule build() { - return logicalEsScan().then(esScan -> - new PhysicalEsScan( + return logicalEsScan().then(esScan -> new PhysicalEsScan( esScan.getRelationId(), esScan.getTable(), esScan.getQualifier(), DistributionSpecAny.INSTANCE, Optional.empty(), - esScan.getLogicalProperties()) - ).toRule(RuleType.LOGICAL_ES_SCAN_TO_PHYSICAL_ES_SCAN_RULE); + esScan.getLogicalProperties(), + null, + null, + esScan.getTableAlias())).toRule(RuleType.LOGICAL_ES_SCAN_TO_PHYSICAL_ES_SCAN_RULE); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcScanToPhysicalJdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcScanToPhysicalJdbcScan.java index 99120c2b2eeb1e..f9085896dccaa4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcScanToPhysicalJdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcScanToPhysicalJdbcScan.java @@ -29,13 +29,15 @@ public class LogicalJdbcScanToPhysicalJdbcScan extends OneImplementationRuleFactory { @Override public Rule build() { - return logicalJdbcScan().then(jdbcScan -> - new PhysicalJdbcScan( + return logicalJdbcScan().then(jdbcScan -> new PhysicalJdbcScan( jdbcScan.getRelationId(), jdbcScan.getTable(), jdbcScan.getQualifier(), Optional.empty(), - jdbcScan.getLogicalProperties()) - ).toRule(RuleType.LOGICAL_JDBC_SCAN_TO_PHYSICAL_JDBC_SCAN_RULE); + jdbcScan.getLogicalProperties(), + null, + null, + jdbcScan.getOperativeSlots(), + jdbcScan.getTableAlias())).toRule(RuleType.LOGICAL_JDBC_SCAN_TO_PHYSICAL_JDBC_SCAN_RULE); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOdbcScanToPhysicalOdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOdbcScanToPhysicalOdbcScan.java index 441219d7a0d075..ba26496017d5cc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOdbcScanToPhysicalOdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOdbcScanToPhysicalOdbcScan.java @@ -29,13 +29,15 @@ public class LogicalOdbcScanToPhysicalOdbcScan extends OneImplementationRuleFactory { @Override public Rule build() { - return logicalOdbcScan().then(odbcScan -> - new PhysicalOdbcScan( + return logicalOdbcScan().then(odbcScan -> new PhysicalOdbcScan( odbcScan.getRelationId(), odbcScan.getTable(), odbcScan.getQualifier(), Optional.empty(), - odbcScan.getLogicalProperties()) - ).toRule(RuleType.LOGICAL_ODBC_SCAN_TO_PHYSICAL_ODBC_SCAN_RULE); + odbcScan.getLogicalProperties(), + null, + null, + odbcScan.getOperativeSlots(), + odbcScan.getTableAlias())).toRule(RuleType.LOGICAL_ODBC_SCAN_TO_PHYSICAL_ODBC_SCAN_RULE); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOlapScanToPhysicalOlapScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOlapScanToPhysicalOlapScan.java index dd7f83ecd0796e..8ea22e00e4297b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOlapScanToPhysicalOlapScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalOlapScanToPhysicalOlapScan.java @@ -61,13 +61,16 @@ public Rule build() { olapScan.getOutputByIndex(olapScan.getTable().getBaseIndexId()), Optional.empty(), olapScan.getLogicalProperties(), + null, + null, olapScan.getTableSample(), olapScan.getOperativeSlots(), olapScan.getVirtualColumns(), olapScan.getScoreOrderKeys(), olapScan.getScoreLimit(), olapScan.getAnnOrderKeys(), - olapScan.getAnnLimit()) + olapScan.getAnnLimit(), + olapScan.getTableAlias()) ).toRule(RuleType.LOGICAL_OLAP_SCAN_TO_PHYSICAL_OLAP_SCAN_RULE); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCatalogRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCatalogRelation.java index 52bba103aeda48..daf4e2db666405 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCatalogRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCatalogRelation.java @@ -69,37 +69,54 @@ public abstract class LogicalCatalogRelation extends LogicalRelation implements // use for virtual slot protected final List virtualColumns; + /** + * Table alias for this relation, empty string if no alias. + */ + protected final String tableAlias; + public LogicalCatalogRelation(RelationId relationId, PlanType type, TableIf table, List qualifier) { - this(relationId, type, table, qualifier, Optional.empty(), Optional.empty()); + this(relationId, type, table, qualifier, Optional.empty(), Optional.empty(), ""); } public LogicalCatalogRelation(RelationId relationId, PlanType type, TableIf table, List qualifier, Optional groupExpression, Optional logicalProperties) { this(relationId, type, table, qualifier, ImmutableList.of(), ImmutableList.of(), - groupExpression, logicalProperties); + groupExpression, logicalProperties, ""); + } + + public LogicalCatalogRelation(RelationId relationId, PlanType type, TableIf table, List qualifier, + Optional groupExpression, Optional logicalProperties, + String tableAlias) { + this(relationId, type, table, qualifier, ImmutableList.of(), ImmutableList.of(), + groupExpression, logicalProperties, tableAlias); } /** * Constructs a LogicalCatalogRelation with specified parameters. * - * @param relationId Unique identifier for this relation - * @param type Plan type - * @param table Table object associated with this relation - * @param qualifier List of qualifiers, typically [catalogName, databaseName] - * @param operativeSlots Collection of operative slots - * @param virtualColumns List of virtual columns - * @param groupExpression Optional group expression + * @param relationId Unique identifier for this relation + * @param type Plan type + * @param table Table object associated with this relation + * @param qualifier List of qualifiers, typically [catalogName, + * databaseName] + * @param operativeSlots Collection of operative slots + * @param virtualColumns List of virtual columns + * @param groupExpression Optional group expression * @param logicalProperties Optional logical properties + * @param tableAlias Table alias for this relation, empty string if no + * alias */ public LogicalCatalogRelation(RelationId relationId, PlanType type, TableIf table, List qualifier, Collection operativeSlots, List virtualColumns, - Optional groupExpression, Optional logicalProperties) { + Optional groupExpression, Optional logicalProperties, + String tableAlias) { super(relationId, type, groupExpression, logicalProperties); this.table = Objects.requireNonNull(table, "table can not be null"); this.qualifier = Utils.fastToImmutableList(Objects.requireNonNull(qualifier, "qualifier can not be null")); this.operativeSlots = Utils.fastToImmutableList(operativeSlots); this.virtualColumns = Utils.fastToImmutableList(Objects.requireNonNull(virtualColumns, "virtualColumns can not be null")); + this.tableAlias = Objects.requireNonNull(tableAlias, "tableAlias can not be null"); } @Override @@ -173,6 +190,10 @@ public List getVirtualColumns() { return virtualColumns; } + public String getTableAlias() { + return tableAlias; + } + @Override public void computeUnique(DataTrait.Builder builder) { Set outputSet = Utils.fastToImmutableSet(getOutputSet()); @@ -252,6 +273,14 @@ public LogicalCatalogRelation withVirtualColumns(List virtualCo public abstract LogicalCatalogRelation withRelationId(RelationId relationId); + /** + * Return a new LogicalCatalogRelation with the specified table alias. + * + * @param tableAlias the table alias to set + * @return a new LogicalCatalogRelation with the specified table alias + */ + public abstract LogicalCatalogRelation withTableAlias(String tableAlias); + @Override public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalDeferMaterializeOlapScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalDeferMaterializeOlapScan.java index 33741e7fdb2bd3..8017e6795c8e26 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalDeferMaterializeOlapScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalDeferMaterializeOlapScan.java @@ -64,7 +64,7 @@ public LogicalDeferMaterializeOlapScan(LogicalOlapScan logicalOlapScan, Set deferMaterializeSlotIds, SlotReference columnIdSlot, Optional groupExpression, Optional logicalProperties) { super(logicalOlapScan.getRelationId(), logicalOlapScan.getType(), logicalOlapScan.getTable(), - logicalOlapScan.getQualifier(), groupExpression, logicalProperties); + logicalOlapScan.getQualifier(), groupExpression, logicalProperties, logicalOlapScan.getTableAlias()); this.logicalOlapScan = Objects.requireNonNull(logicalOlapScan, "logicalOlapScan can not be null"); this.deferMaterializeSlotIds = ImmutableSet.copyOf(Objects.requireNonNull(deferMaterializeSlotIds, "deferMaterializeSlotIds can not be null")); @@ -136,6 +136,14 @@ public LogicalDeferMaterializeOlapScan withRelationId(RelationId relationId) { throw new RuntimeException("should not call LogicalDeferMaterializeOlapScan's withRelationId method"); } + @Override + public LogicalDeferMaterializeOlapScan withTableAlias(String tableAlias) { + // Update the wrapped LogicalOlapScan with the new alias + LogicalOlapScan newOlapScan = logicalOlapScan.withTableAlias(tableAlias); + return new LogicalDeferMaterializeOlapScan(newOlapScan, deferMaterializeSlotIds, columnIdSlot, + Optional.empty(), Optional.of(getLogicalProperties())); + } + @Override public R accept(PlanVisitor visitor, C context) { return visitor.visitLogicalDeferMaterializeOlapScan(this, context); @@ -167,9 +175,9 @@ public int hashCode() { public String toString() { return Utils.toSqlStringSkipNull("LogicalDeferMaterializeOlapScan[" + id.asInt() + "]", "olapScan", logicalOlapScan, + "alias", tableAlias, "deferMaterializeSlotIds", deferMaterializeSlotIds, "columnIdSlot", columnIdSlot, - "stats", statistics - ); + "stats", statistics); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java index bcc42ea5557baf..f3a38212faa5b4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java @@ -41,45 +41,60 @@ public class LogicalEsScan extends LogicalCatalogRelation { * Constructor for LogicalEsScan. */ public LogicalEsScan(RelationId id, TableIf table, List qualifier, - List virtualColumns, - Optional groupExpression, - Optional logicalProperties) { + List virtualColumns, + Optional groupExpression, + Optional logicalProperties, String tableAlias) { super(id, PlanType.LOGICAL_ES_SCAN, table, qualifier, - ImmutableList.of(), virtualColumns, groupExpression, logicalProperties); + ImmutableList.of(), virtualColumns, groupExpression, logicalProperties, tableAlias); + } + + public LogicalEsScan(RelationId id, TableIf table, List qualifier, + List virtualColumns, + Optional groupExpression, + Optional logicalProperties) { + this(id, table, qualifier, virtualColumns, groupExpression, logicalProperties, ""); } public LogicalEsScan(RelationId id, TableIf table, List qualifier) { - this(id, table, qualifier, ImmutableList.of(), Optional.empty(), Optional.empty()); + this(id, table, qualifier, ImmutableList.of(), Optional.empty(), Optional.empty(), ""); } @Override public String toString() { return Utils.toSqlStringSkipNull("LogicalEsScan", - "qualified", qualifiedName(), - "output", getOutput(), "stats", statistics - ); + "qualified", qualifiedName(), + "alias", tableAlias, + "output", getOutput(), "stats", statistics); } @Override public LogicalEsScan withGroupExpression(Optional groupExpression) { return new LogicalEsScan(relationId, table, qualifier, virtualColumns, - groupExpression, Optional.of(getLogicalProperties())); + groupExpression, Optional.of(getLogicalProperties()), tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { - return new LogicalEsScan(relationId, table, qualifier, virtualColumns, groupExpression, logicalProperties); + return new LogicalEsScan(relationId, table, qualifier, virtualColumns, groupExpression, logicalProperties, + tableAlias); } @Override public LogicalEsScan withRelationId(RelationId relationId) { - return new LogicalEsScan(relationId, table, qualifier, virtualColumns, Optional.empty(), Optional.empty()); + return new LogicalEsScan(relationId, table, qualifier, virtualColumns, Optional.empty(), Optional.empty(), + tableAlias); } @Override public LogicalEsScan withVirtualColumns(List virtualColumns) { - return new LogicalEsScan(relationId, table, qualifier, virtualColumns, Optional.empty(), Optional.empty()); + return new LogicalEsScan(relationId, table, qualifier, virtualColumns, Optional.empty(), Optional.empty(), + tableAlias); + } + + public LogicalEsScan withTableAlias(String tableAlias) { + return new LogicalEsScan(relationId, table, qualifier, virtualColumns, Optional.empty(), + Optional.of(getLogicalProperties()), tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java index 4167e68856d229..6ae9e5dd32ae91 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java @@ -53,9 +53,9 @@ public class LogicalFileScan extends LogicalCatalogRelation { protected final Optional scanParams; public LogicalFileScan(RelationId id, ExternalTable table, List qualifier, - Collection operativeSlots, - Optional tableSample, Optional tableSnapshot, - Optional scanParams) { + Collection operativeSlots, + Optional tableSample, Optional tableSnapshot, + Optional scanParams) { this(id, table, qualifier, table.initSelectedPartitions(MvccUtil.getSnapshotFromContext(table)), operativeSlots, ImmutableList.of(), @@ -70,15 +70,25 @@ protected LogicalFileScan(RelationId id, ExternalTable table, List quali SelectedPartitions selectedPartitions, Collection operativeSlots, List virtualColumns, Optional tableSample, Optional tableSnapshot, Optional scanParams, - Optional groupExpression, Optional logicalProperties) { + Optional groupExpression, Optional logicalProperties, + String tableAlias) { super(id, PlanType.LOGICAL_FILE_SCAN, table, qualifier, operativeSlots, virtualColumns, - groupExpression, logicalProperties); + groupExpression, logicalProperties, tableAlias); this.selectedPartitions = selectedPartitions; this.tableSample = tableSample; this.tableSnapshot = tableSnapshot; this.scanParams = scanParams; } + protected LogicalFileScan(RelationId id, ExternalTable table, List qualifier, + SelectedPartitions selectedPartitions, Collection operativeSlots, + List virtualColumns, Optional tableSample, + Optional tableSnapshot, Optional scanParams, + Optional groupExpression, Optional logicalProperties) { + this(id, table, qualifier, selectedPartitions, operativeSlots, virtualColumns, tableSample, tableSnapshot, + scanParams, groupExpression, logicalProperties, ""); + } + public SelectedPartitions getSelectedPartitions() { return selectedPartitions; } @@ -106,17 +116,17 @@ public ExternalTable getTable() { public String toString() { return Utils.toSqlStringSkipNull("LogicalFileScan", "qualified", qualifiedName(), + "alias", tableAlias, "output", getOutput(), "operativeCols", operativeSlots, - "stats", statistics - ); + "stats", statistics); } @Override public LogicalFileScan withGroupExpression(Optional groupExpression) { return new LogicalFileScan(relationId, (ExternalTable) table, qualifier, selectedPartitions, operativeSlots, virtualColumns, tableSample, tableSnapshot, - scanParams, groupExpression, Optional.of(getLogicalProperties())); + scanParams, groupExpression, Optional.of(getLogicalProperties()), tableAlias); } @Override @@ -124,20 +134,26 @@ public Plan withGroupExprLogicalPropChildren(Optional groupExpr Optional logicalProperties, List children) { return new LogicalFileScan(relationId, (ExternalTable) table, qualifier, selectedPartitions, operativeSlots, virtualColumns, tableSample, tableSnapshot, - scanParams, groupExpression, logicalProperties); + scanParams, groupExpression, logicalProperties, tableAlias); } public LogicalFileScan withSelectedPartitions(SelectedPartitions selectedPartitions) { return new LogicalFileScan(relationId, (ExternalTable) table, qualifier, selectedPartitions, operativeSlots, virtualColumns, tableSample, tableSnapshot, - scanParams, Optional.empty(), Optional.of(getLogicalProperties())); + scanParams, Optional.empty(), Optional.of(getLogicalProperties()), tableAlias); } @Override public LogicalFileScan withRelationId(RelationId relationId) { return new LogicalFileScan(relationId, (ExternalTable) table, qualifier, selectedPartitions, operativeSlots, virtualColumns, tableSample, tableSnapshot, - scanParams, Optional.empty(), Optional.empty()); + scanParams, Optional.empty(), Optional.empty(), tableAlias); + } + + public LogicalFileScan withTableAlias(String tableAlias) { + return new LogicalFileScan(relationId, (ExternalTable) table, qualifier, + selectedPartitions, operativeSlots, virtualColumns, tableSample, tableSnapshot, + scanParams, Optional.empty(), Optional.of(getLogicalProperties()), tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java index 13491ea76f9d98..ef55849ca6375f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java @@ -44,13 +44,19 @@ public class LogicalJdbcScan extends LogicalCatalogRelation { * Constructor for LogicalJdbcScan. */ public LogicalJdbcScan(RelationId id, TableIf table, List qualifier, List virtualColumns, - Optional groupExpression, Optional logicalProperties) { + Optional groupExpression, Optional logicalProperties, + String tableAlias) { super(id, PlanType.LOGICAL_JDBC_SCAN, table, qualifier, ImmutableList.of(), virtualColumns, - groupExpression, logicalProperties); + groupExpression, logicalProperties, tableAlias); + } + + public LogicalJdbcScan(RelationId id, TableIf table, List qualifier, List virtualColumns, + Optional groupExpression, Optional logicalProperties) { + this(id, table, qualifier, virtualColumns, groupExpression, logicalProperties, ""); } public LogicalJdbcScan(RelationId id, TableIf table, List qualifier) { - this(id, table, qualifier, ImmutableList.of(), Optional.empty(), Optional.empty()); + this(id, table, qualifier, ImmutableList.of(), Optional.empty(), Optional.empty(), ""); } @Override @@ -63,28 +69,33 @@ public TableIf getTable() { @Override public String toString() { return Utils.toSqlString("LogicalJdbcScan", - "qualified", qualifiedName(), - "output", getOutput() - ); + "qualified", qualifiedName(), + "alias", tableAlias, + "output", getOutput()); } @Override public LogicalJdbcScan withGroupExpression(Optional groupExpression) { return new LogicalJdbcScan(relationId, table, qualifier, virtualColumns, - groupExpression, Optional.of(getLogicalProperties())); + groupExpression, Optional.of(getLogicalProperties()), tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { return new LogicalJdbcScan(relationId, table, qualifier, virtualColumns, - groupExpression, logicalProperties); + groupExpression, logicalProperties, tableAlias); } @Override public LogicalJdbcScan withRelationId(RelationId relationId) { return new LogicalJdbcScan(relationId, table, qualifier, virtualColumns, - Optional.empty(), Optional.empty()); + Optional.empty(), Optional.empty(), tableAlias); + } + + public LogicalJdbcScan withTableAlias(String tableAlias) { + return new LogicalJdbcScan(relationId, table, qualifier, virtualColumns, Optional.empty(), + Optional.of(getLogicalProperties()), tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOdbcScan.java index 3ce9b8d74035de..b56c775feda4fa 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOdbcScan.java @@ -37,14 +37,20 @@ */ public class LogicalOdbcScan extends LogicalCatalogRelation { + public LogicalOdbcScan(RelationId id, TableIf table, List qualifier, + Optional groupExpression, + Optional logicalProperties, String tableAlias) { + super(id, PlanType.LOGICAL_ODBC_SCAN, table, qualifier, groupExpression, logicalProperties, tableAlias); + } + public LogicalOdbcScan(RelationId id, TableIf table, List qualifier, Optional groupExpression, Optional logicalProperties) { - super(id, PlanType.LOGICAL_ODBC_SCAN, table, qualifier, groupExpression, logicalProperties); + this(id, table, qualifier, groupExpression, logicalProperties, ""); } public LogicalOdbcScan(RelationId id, TableIf table, List qualifier) { - this(id, table, qualifier, Optional.empty(), Optional.empty()); + this(id, table, qualifier, Optional.empty(), Optional.empty(), ""); } @Override @@ -58,25 +64,30 @@ public TableIf getTable() { public String toString() { return Utils.toSqlString("LogicalOdbcScan", "qualified", qualifiedName(), - "output", getOutput() - ); + "alias", tableAlias, + "output", getOutput()); } @Override public LogicalOdbcScan withGroupExpression(Optional groupExpression) { return new LogicalOdbcScan(relationId, table, qualifier, groupExpression, - Optional.of(getLogicalProperties())); + Optional.of(getLogicalProperties()), tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { - return new LogicalOdbcScan(relationId, table, qualifier, groupExpression, logicalProperties); + return new LogicalOdbcScan(relationId, table, qualifier, groupExpression, logicalProperties, tableAlias); } @Override public LogicalOdbcScan withRelationId(RelationId relationId) { - return new LogicalOdbcScan(relationId, table, qualifier, Optional.empty(), Optional.empty()); + return new LogicalOdbcScan(relationId, table, qualifier, Optional.empty(), Optional.empty(), tableAlias); + } + + public LogicalOdbcScan withTableAlias(String tableAlias) { + return new LogicalOdbcScan(relationId, table, qualifier, Optional.empty(), + Optional.of(getLogicalProperties()), tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java index 8df1cd2f6a4b40..4278c22f123ba2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalOlapScan.java @@ -81,7 +81,7 @@ public class LogicalOlapScan extends LogicalCatalogRelation implements OlapScan /////////////////////////////////////////////////////////////////////////// /** - /** + * /** * The select materialized index id to read data from. */ private final long selectedIndexId; @@ -163,7 +163,7 @@ public LogicalOlapScan(RelationId id, OlapTable table, List qualifier) { -1, false, PreAggStatus.unset(), ImmutableList.of(), ImmutableList.of(), Maps.newHashMap(), Optional.empty(), false, ImmutableMap.of(), ImmutableList.of(), ImmutableList.of(), ImmutableList.of(), - ImmutableList.of(), Optional.empty(), ImmutableList.of(), Optional.empty()); + ImmutableList.of(), Optional.empty(), ImmutableList.of(), Optional.empty(), ""); } public LogicalOlapScan(RelationId id, OlapTable table, List qualifier, List tabletIds, @@ -172,7 +172,7 @@ public LogicalOlapScan(RelationId id, OlapTable table, List qualifier, L table.getPartitionIds(), false, tabletIds, -1, false, PreAggStatus.unset(), ImmutableList.of(), hints, Maps.newHashMap(), tableSample, false, ImmutableMap.of(), ImmutableList.of(), operativeSlots, - ImmutableList.of(), ImmutableList.of(), Optional.empty(), ImmutableList.of(), Optional.empty()); + ImmutableList.of(), ImmutableList.of(), Optional.empty(), ImmutableList.of(), Optional.empty(), ""); } /** @@ -186,22 +186,22 @@ public LogicalOlapScan(RelationId id, OlapTable table, List qualifier, L -1, false, PreAggStatus.unset(), specifiedPartitions, hints, Maps.newHashMap(), tableSample, false, ImmutableMap.of(), ImmutableList.of(), operativeSlots, ImmutableList.of(), ImmutableList.of(), Optional.empty(), - ImmutableList.of(), Optional.empty()); + ImmutableList.of(), Optional.empty(), ""); } /** * constructor. */ public LogicalOlapScan(RelationId id, OlapTable table, List qualifier, List tabletIds, - List selectedPartitionIds, long selectedIndexId, PreAggStatus preAggStatus, - List specifiedPartitions, List hints, Optional tableSample, - Collection operativeSlots) { + List selectedPartitionIds, long selectedIndexId, PreAggStatus preAggStatus, + List specifiedPartitions, List hints, Optional tableSample, + Collection operativeSlots) { this(id, table, qualifier, Optional.empty(), Optional.empty(), selectedPartitionIds, false, tabletIds, selectedIndexId, true, preAggStatus, specifiedPartitions, hints, Maps.newHashMap(), tableSample, true, ImmutableMap.of(), ImmutableList.of(), operativeSlots, ImmutableList.of(), ImmutableList.of(), Optional.empty(), - ImmutableList.of(), Optional.empty()); + ImmutableList.of(), Optional.empty(), ""); } /** @@ -217,9 +217,9 @@ public LogicalOlapScan(RelationId id, Table table, List qualifier, Map>> colToSubPathsMap, List specifiedTabletIds, Collection operativeSlots, List virtualColumns, List scoreOrderKeys, Optional scoreLimit, - List annOrderKeys, Optional annLimit) { + List annOrderKeys, Optional annLimit, String tableAlias) { super(id, PlanType.LOGICAL_OLAP_SCAN, table, qualifier, - operativeSlots, virtualColumns, groupExpression, logicalProperties); + operativeSlots, virtualColumns, groupExpression, logicalProperties, tableAlias); Preconditions.checkArgument(selectedPartitionIds != null, "selectedPartitionIds can not be null"); this.selectedTabletIds = Utils.fastToImmutableList(selectedTabletIds); @@ -291,13 +291,13 @@ public OlapTable getTable() { public String toString() { return Utils.toSqlStringSkipNull("LogicalOlapScan", "qualified", qualifiedName(), + "alias", tableAlias, "indexName", getSelectedMaterializedIndexName().orElse(""), "selectedIndexId", selectedIndexId, "preAgg", preAggStatus, "operativeCol", operativeSlots, "stats", statistics, - "virtualColumns", virtualColumns - ); + "virtualColumns", virtualColumns); } @Override @@ -338,7 +338,7 @@ public LogicalOlapScan withGroupExpression(Optional groupExpres selectedPartitionIds, partitionPruned, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } @Override @@ -348,7 +348,7 @@ public Plan withGroupExprLogicalPropChildren(Optional groupExpr selectedPartitionIds, partitionPruned, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** @@ -360,13 +360,13 @@ public LogicalOlapScan withSelectedPartitionIds(List selectedPartitionIds) selectedPartitionIds, true, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** * with sync materialized index id. * @param indexId materialized index id for scan - * @return scan with materialized index id + * @return scan with materialized index id */ public LogicalOlapScan withMaterializedIndexSelected(long indexId) { return new LogicalOlapScan(relationId, (Table) table, qualifier, @@ -374,7 +374,7 @@ public LogicalOlapScan withMaterializedIndexSelected(long indexId) { selectedPartitionIds, partitionPruned, selectedTabletIds, indexId, true, PreAggStatus.unset(), manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** @@ -386,7 +386,7 @@ public LogicalOlapScan withSelectedTabletIds(List selectedTabletIds) { selectedPartitionIds, partitionPruned, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** @@ -398,7 +398,7 @@ public LogicalOlapScan withPreAggStatus(PreAggStatus preAggStatus) { selectedPartitionIds, partitionPruned, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** @@ -410,7 +410,7 @@ public LogicalOlapScan withColToSubPathsMap(Map>> colTo selectedPartitionIds, partitionPruned, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** @@ -422,7 +422,7 @@ public LogicalOlapScan withManuallySpecifiedTabletIds(List manuallySpecifi selectedPartitionIds, partitionPruned, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } @Override @@ -433,7 +433,17 @@ public LogicalOlapScan withRelationId(RelationId relationId) { selectedPartitionIds, false, selectedTabletIds, selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, Maps.newHashMap(), tableSample, directMvScan, colToSubPathsMap, selectedTabletIds, - operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); + } + + @Override + public LogicalOlapScan withTableAlias(String tableAlias) { + return new LogicalOlapScan(relationId, (Table) table, qualifier, + Optional.empty(), Optional.of(getLogicalProperties()), + selectedPartitionIds, partitionPruned, selectedTabletIds, + selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, + hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, + operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } /** @@ -453,7 +463,7 @@ public LogicalOlapScan withVirtualColumns(List virtualColumns) selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, - annOrderKeys, annLimit); + annOrderKeys, annLimit, tableAlias); } /** @@ -477,7 +487,7 @@ public LogicalOlapScan withVirtualColumnsAndTopN( selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, - annOrderKeys, annLimit); + annOrderKeys, annLimit, tableAlias); } @Override @@ -565,7 +575,8 @@ public List computeOutput() { public List getOutputByIndex(long indexId) { OlapTable olapTable = (OlapTable) table; // PhysicalStorageLayerAggregateTest has no visible index - // when we have a partitioned table without any partition, visible index is empty + // when we have a partitioned table without any partition, visible index is + // empty List schema = olapTable.getIndexMetaByIndexId(indexId).getSchema(); List slots = Lists.newArrayListWithCapacity(schema.size()); IdGenerator exprIdGenerator = StatementScopeIdGenerator.getExprIdGenerator(); @@ -808,7 +819,7 @@ public CatalogRelation withOperativeSlots(Collection operativeSlots) { selectedIndexId, indexSelected, preAggStatus, manuallySpecifiedPartitions, hints, cacheSlotWithSlotName, tableSample, directMvScan, colToSubPathsMap, manuallySpecifiedTabletIds, operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, - annOrderKeys, annLimit); + annOrderKeys, annLimit, tableAlias); } private Map constructReplaceMap(MTMV mtmv) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java index 2b749837cd666d..7eddfbf7eb39b3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSchemaScan.java @@ -54,24 +54,29 @@ public LogicalSchemaScan(RelationId id, TableIf table, List qualifier) { /** * Constructs a LogicalSchemaScan with the specified parameters. * - * @param id Unique identifier for this relation - * @param table The table interface representing the underlying data source - * @param qualifier The qualifier list representing the path to this table - * @param filterPushed Whether filter has been pushed down to this scan operation - * @param schemaCatalog Optional catalog name in the schema - * @param schemaDatabase Optional database name in the schema - * @param schemaTable Optional table name in the schema - * @param virtualColumns List of virtual columns to be included in the scan + * @param id Unique identifier for this relation + * @param table The table interface representing the underlying data + * source + * @param qualifier The qualifier list representing the path to this + * table + * @param filterPushed Whether filter has been pushed down to this scan + * operation + * @param schemaCatalog Optional catalog name in the schema + * @param schemaDatabase Optional database name in the schema + * @param schemaTable Optional table name in the schema + * @param virtualColumns List of virtual columns to be included in the scan * @param frontendConjuncts conjuncts needed by FrontendService - * @param groupExpression Optional group expression for memo representation + * @param groupExpression Optional group expression for memo representation * @param logicalProperties Optional logical properties for this plan node + * @param tableAlias Table alias for this scan */ public LogicalSchemaScan(RelationId id, TableIf table, List qualifier, boolean filterPushed, Optional schemaCatalog, Optional schemaDatabase, Optional schemaTable, List virtualColumns, List frontendConjuncts, - Optional groupExpression, Optional logicalProperties) { + Optional groupExpression, Optional logicalProperties, + String tableAlias) { super(id, PlanType.LOGICAL_SCHEMA_SCAN, table, qualifier, ImmutableList.of(), virtualColumns, - groupExpression, logicalProperties); + groupExpression, logicalProperties, tableAlias); this.filterPushed = filterPushed; this.schemaCatalog = schemaCatalog; this.schemaDatabase = schemaDatabase; @@ -79,6 +84,14 @@ public LogicalSchemaScan(RelationId id, TableIf table, List qualifier, b this.frontendConjuncts = frontendConjuncts; } + public LogicalSchemaScan(RelationId id, TableIf table, List qualifier, boolean filterPushed, + Optional schemaCatalog, Optional schemaDatabase, Optional schemaTable, + List virtualColumns, List frontendConjuncts, + Optional groupExpression, Optional logicalProperties) { + this(id, table, qualifier, filterPushed, schemaCatalog, schemaDatabase, schemaTable, virtualColumns, + frontendConjuncts, groupExpression, logicalProperties, ""); + } + public boolean isFilterPushed() { return filterPushed; } @@ -108,7 +121,7 @@ public R accept(PlanVisitor visitor, C context) { public Plan withGroupExpression(Optional groupExpression) { return new LogicalSchemaScan(relationId, table, qualifier, filterPushed, schemaCatalog, schemaDatabase, schemaTable, virtualColumns, - frontendConjuncts, groupExpression, Optional.of(getLogicalProperties())); + frontendConjuncts, groupExpression, Optional.of(getLogicalProperties()), tableAlias); } @Override @@ -116,25 +129,33 @@ public Plan withGroupExprLogicalPropChildren(Optional groupExpr Optional logicalProperties, List children) { return new LogicalSchemaScan(relationId, table, qualifier, filterPushed, schemaCatalog, schemaDatabase, schemaTable, virtualColumns, frontendConjuncts, groupExpression, - logicalProperties); + logicalProperties, tableAlias); } @Override public LogicalSchemaScan withRelationId(RelationId relationId) { return new LogicalSchemaScan(relationId, table, qualifier, filterPushed, schemaCatalog, schemaDatabase, schemaTable, virtualColumns, frontendConjuncts, Optional.empty(), - Optional.empty()); + Optional.empty(), tableAlias); } public LogicalSchemaScan withFrontendConjuncts(Optional schemaCatalog, Optional schemaDatabase, Optional schemaTable, List frontendConjuncts) { return new LogicalSchemaScan(relationId, table, qualifier, true, schemaCatalog, schemaDatabase, schemaTable, - virtualColumns, frontendConjuncts, Optional.empty(), Optional.of(getLogicalProperties())); + virtualColumns, frontendConjuncts, Optional.empty(), Optional.of(getLogicalProperties()), tableAlias); + } + + public LogicalSchemaScan withTableAlias(String tableAlias) { + return new LogicalSchemaScan(relationId, table, qualifier, filterPushed, schemaCatalog, schemaDatabase, + schemaTable, virtualColumns, frontendConjuncts, Optional.empty(), + Optional.of(getLogicalProperties()), tableAlias); } @Override public String toString() { - return Utils.toSqlString("LogicalSchemaScan"); + return Utils.toSqlString("LogicalSchemaScan", + "qualified", qualifiedName(), + "alias", tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTestScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTestScan.java index 0deed9f5152755..7ac51a3248b3e7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTestScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTestScan.java @@ -37,20 +37,26 @@ */ public class LogicalTestScan extends LogicalCatalogRelation { public LogicalTestScan(RelationId relationId, TableIf table, List qualifier) { - this(relationId, table, qualifier, Optional.empty(), Optional.empty()); + this(relationId, table, qualifier, Optional.empty(), Optional.empty(), ""); } private LogicalTestScan(RelationId relationId, TableIf table, List qualifier, - Optional groupExpression, Optional logicalProperties) { - super(relationId, PlanType.LOGICAL_TEST_SCAN, table, qualifier, groupExpression, logicalProperties); + Optional groupExpression, Optional logicalProperties, + String tableAlias) { + super(relationId, PlanType.LOGICAL_TEST_SCAN, table, qualifier, groupExpression, logicalProperties, tableAlias); + } + + private LogicalTestScan(RelationId relationId, TableIf table, List qualifier, + Optional groupExpression, Optional logicalProperties) { + this(relationId, table, qualifier, groupExpression, logicalProperties, ""); } @Override public String toString() { return Utils.toSqlString("LogicalTestScan", "qualified", qualifiedName(), - "output", getOutput() - ); + "alias", tableAlias, + "output", getOutput()); } @Override @@ -61,13 +67,18 @@ public boolean equals(Object o) { @Override public Plan withGroupExpression(Optional groupExpression) { return new LogicalTestScan(relationId, table, qualifier, - groupExpression, Optional.ofNullable(getLogicalProperties())); + groupExpression, Optional.ofNullable(getLogicalProperties()), tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { - return new LogicalTestScan(relationId, table, qualifier, groupExpression, logicalProperties); + return new LogicalTestScan(relationId, table, qualifier, groupExpression, logicalProperties, tableAlias); + } + + public LogicalTestScan withTableAlias(String tableAlias) { + return new LogicalTestScan(relationId, table, qualifier, Optional.empty(), + Optional.of(getLogicalProperties()), tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCatalogRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCatalogRelation.java index e9fde88c860f9d..30fe56df4b8531 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCatalogRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCatalogRelation.java @@ -60,6 +60,7 @@ public abstract class PhysicalCatalogRelation extends PhysicalRelation implement protected final TableIf table; protected final ImmutableList qualifier; protected final ImmutableList operativeSlots; + protected final String tableAlias; /** * Constructor for PhysicalCatalogRelation. @@ -75,6 +76,7 @@ public PhysicalCatalogRelation(RelationId relationId, PlanType type, TableIf tab this.qualifier = ImmutableList.copyOf(Objects.requireNonNull(qualifier, "qualifier can not be null")); this.operativeSlots = ImmutableList.copyOf(Objects.requireNonNull(operativeSlots, "operativeSlots can not be null")); + this.tableAlias = ""; } /** @@ -93,6 +95,27 @@ public PhysicalCatalogRelation(RelationId relationId, PlanType type, TableIf tab this.qualifier = ImmutableList.copyOf(Objects.requireNonNull(qualifier, "qualifier can not be null")); this.operativeSlots = ImmutableList.copyOf(Objects.requireNonNull(operativeSlots, "operativeSlots can not be null")); + this.tableAlias = ""; + } + + /** + * Constructor for PhysicalCatalogRelation. + * + * @param table Doris table + * @param qualifier qualified relation name + * @param tableAlias table alias + */ + public PhysicalCatalogRelation(RelationId relationId, PlanType type, TableIf table, List qualifier, + Optional groupExpression, LogicalProperties logicalProperties, + PhysicalProperties physicalProperties, + Statistics statistics, + Collection operativeSlots, String tableAlias) { + super(relationId, type, groupExpression, logicalProperties, physicalProperties, statistics); + this.table = Objects.requireNonNull(table, "table can not be null"); + this.qualifier = ImmutableList.copyOf(Objects.requireNonNull(qualifier, "qualifier can not be null")); + this.operativeSlots = ImmutableList.copyOf(Objects.requireNonNull(operativeSlots, + "operativeSlots can not be null")); + this.tableAlias = Objects.requireNonNull(tableAlias, "tableAlias can not be null"); } @Override @@ -151,6 +174,10 @@ public String qualifiedName() { return Utils.qualifiedName(qualifier, table.getName()); } + public String getTableAlias() { + return tableAlias; + } + @Override public boolean canPushDownRuntimeFilter() { return true; @@ -159,8 +186,12 @@ public boolean canPushDownRuntimeFilter() { @Override public String shapeInfo() { StringBuilder shapeBuilder = new StringBuilder(); + String tableNameAndAlias = table.getName(); + if (!"".equals(tableAlias)) { + tableNameAndAlias += "(" + tableAlias + ")"; + } shapeBuilder.append(this.getClass().getSimpleName()) - .append("[").append(table.getName()).append("]"); + .append("[").append(tableNameAndAlias).append("]"); if (!getAppliedRuntimeFilters().isEmpty()) { shapeBuilder.append(" apply RFs:"); getAppliedRuntimeFilters() diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java index 78939714cce30c..bc893be02214ce 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java @@ -57,18 +57,29 @@ public PhysicalEsScan(RelationId id, TableIf table, List qualifier, public PhysicalEsScan(RelationId id, TableIf table, List qualifier, DistributionSpec distributionSpec, Optional groupExpression, LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics) { + this(id, table, qualifier, distributionSpec, groupExpression, logicalProperties, + physicalProperties, statistics, ""); + } + + /** + * Constructor for PhysicalEsScan. + */ + public PhysicalEsScan(RelationId id, TableIf table, List qualifier, + DistributionSpec distributionSpec, Optional groupExpression, + LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics, + String tableAlias) { super(id, PlanType.PHYSICAL_ES_SCAN, table, qualifier, groupExpression, logicalProperties, - physicalProperties, statistics, ImmutableList.of()); + physicalProperties, statistics, ImmutableList.of(), tableAlias); this.distributionSpec = distributionSpec; } @Override public String toString() { return Utils.toSqlString("PhysicalEsScan", - "qualified", Utils.qualifiedName(qualifier, table.getName()), - "output", getOutput(), - "stats", statistics - ); + "qualified", Utils.qualifiedName(qualifier, table.getName()), + "alias", tableAlias, + "output", getOutput(), + "stats", statistics); } @Override @@ -79,20 +90,20 @@ public R accept(PlanVisitor visitor, C context) { @Override public PhysicalEsScan withGroupExpression(Optional groupExpression) { return new PhysicalEsScan(relationId, getTable(), qualifier, distributionSpec, - groupExpression, getLogicalProperties()); + groupExpression, getLogicalProperties(), null, null, tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { return new PhysicalEsScan(relationId, getTable(), qualifier, distributionSpec, - groupExpression, logicalProperties.get()); + groupExpression, logicalProperties.get(), null, null, tableAlias); } @Override public PhysicalEsScan withPhysicalPropertiesAndStats(PhysicalProperties physicalProperties, - Statistics statsDeriveResult) { + Statistics statsDeriveResult) { return new PhysicalEsScan(relationId, getTable(), qualifier, distributionSpec, - groupExpression, getLogicalProperties(), physicalProperties, statsDeriveResult); + groupExpression, getLogicalProperties(), physicalProperties, statsDeriveResult, tableAlias); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java index 72aa3db1d741a9..f0d16a60f0ab73 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcScan.java @@ -56,8 +56,19 @@ public PhysicalJdbcScan(RelationId id, TableIf table, List qualifier, Optional groupExpression, LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics, Collection operativeSlots) { + this(id, table, qualifier, groupExpression, logicalProperties, physicalProperties, statistics, + operativeSlots, ""); + } + + /** + * Constructor for PhysicalJdbcScan. + */ + public PhysicalJdbcScan(RelationId id, TableIf table, List qualifier, + Optional groupExpression, + LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics, + Collection operativeSlots, String tableAlias) { super(id, PlanType.PHYSICAL_JDBC_SCAN, table, qualifier, groupExpression, - logicalProperties, physicalProperties, statistics, operativeSlots); + logicalProperties, physicalProperties, statistics, operativeSlots, tableAlias); } @Override @@ -67,11 +78,11 @@ public String toString() { rfV2 = runtimeFiltersV2.toString(); } return Utils.toSqlString("PhysicalJdbcScan", - "qualified", Utils.qualifiedName(qualifier, table.getName()), - "output", getOutput(), - "RFV2", rfV2, - "stats", statistics - ); + "qualified", Utils.qualifiedName(qualifier, table.getName()), + "alias", tableAlias, + "output", getOutput(), + "RFV2", rfV2, + "stats", statistics); } @Override @@ -81,19 +92,21 @@ public R accept(PlanVisitor visitor, C context) { @Override public PhysicalJdbcScan withGroupExpression(Optional groupExpression) { - return new PhysicalJdbcScan(relationId, table, qualifier, groupExpression, getLogicalProperties()); + return new PhysicalJdbcScan(relationId, table, qualifier, groupExpression, getLogicalProperties(), + null, null, operativeSlots, tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { - return new PhysicalJdbcScan(relationId, table, qualifier, groupExpression, logicalProperties.get()); + return new PhysicalJdbcScan(relationId, table, qualifier, groupExpression, logicalProperties.get(), + null, null, operativeSlots, tableAlias); } @Override public PhysicalJdbcScan withPhysicalPropertiesAndStats(PhysicalProperties physicalProperties, - Statistics statistics) { + Statistics statistics) { return new PhysicalJdbcScan(relationId, table, qualifier, groupExpression, - getLogicalProperties(), physicalProperties, statistics, operativeSlots); + getLogicalProperties(), physicalProperties, statistics, operativeSlots, tableAlias); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOdbcScan.java index 79774e7604183a..8a6f542485feb7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOdbcScan.java @@ -55,17 +55,28 @@ public PhysicalOdbcScan(RelationId id, TableIf table, List qualifier, Optional groupExpression, LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics, Collection operativeSlots) { + this(id, table, qualifier, groupExpression, logicalProperties, physicalProperties, statistics, + operativeSlots, ""); + } + + /** + * Constructor for PhysicalOdbcScan. + */ + public PhysicalOdbcScan(RelationId id, TableIf table, List qualifier, + Optional groupExpression, + LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics, + Collection operativeSlots, String tableAlias) { super(id, PlanType.PHYSICAL_ODBC_SCAN, table, qualifier, groupExpression, - logicalProperties, physicalProperties, statistics, operativeSlots); + logicalProperties, physicalProperties, statistics, operativeSlots, tableAlias); } @Override public String toString() { return Utils.toSqlString("PhysicalOdbcScan", - "qualified", Utils.qualifiedName(qualifier, table.getName()), - "output", getOutput(), - "stats", statistics - ); + "qualified", Utils.qualifiedName(qualifier, table.getName()), + "alias", tableAlias, + "output", getOutput(), + "stats", statistics); } @Override @@ -75,19 +86,21 @@ public R accept(PlanVisitor visitor, C context) { @Override public PhysicalOdbcScan withGroupExpression(Optional groupExpression) { - return new PhysicalOdbcScan(relationId, table, qualifier, groupExpression, getLogicalProperties()); + return new PhysicalOdbcScan(relationId, table, qualifier, groupExpression, getLogicalProperties(), + null, null, operativeSlots, tableAlias); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { - return new PhysicalOdbcScan(relationId, table, qualifier, groupExpression, logicalProperties.get()); + return new PhysicalOdbcScan(relationId, table, qualifier, groupExpression, logicalProperties.get(), + null, null, operativeSlots, tableAlias); } @Override public PhysicalOdbcScan withPhysicalPropertiesAndStats(PhysicalProperties physicalProperties, - Statistics statistics) { + Statistics statistics) { return new PhysicalOdbcScan(relationId, table, qualifier, groupExpression, - getLogicalProperties(), physicalProperties, statistics, operativeSlots); + getLogicalProperties(), physicalProperties, statistics, operativeSlots, tableAlias); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java index 91be95aa5a06e0..f52ab20558fe6a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapScan.java @@ -89,7 +89,7 @@ public PhysicalOlapScan(RelationId id, OlapTable olapTable, List qualifi preAggStatus, baseOutputs, groupExpression, logicalProperties, null, null, tableSample, operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, - annOrderKeys, annLimit); + annOrderKeys, annLimit, ""); } /** @@ -104,8 +104,26 @@ public PhysicalOlapScan(RelationId id, OlapTable olapTable, List qualifi Collection operativeSlots, List virtualColumns, List scoreOrderKeys, Optional scoreLimit, List annOrderKeys, Optional annLimit) { + this(id, olapTable, qualifier, selectedIndexId, selectedTabletIds, selectedPartitionIds, + distributionSpec, preAggStatus, baseOutputs, groupExpression, logicalProperties, + physicalProperties, statistics, tableSample, operativeSlots, virtualColumns, + scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, ""); + } + + /** + * Constructor for PhysicalOlapScan. + */ + public PhysicalOlapScan(RelationId id, OlapTable olapTable, List qualifier, long selectedIndexId, + List selectedTabletIds, List selectedPartitionIds, DistributionSpec distributionSpec, + PreAggStatus preAggStatus, List baseOutputs, + Optional groupExpression, LogicalProperties logicalProperties, + PhysicalProperties physicalProperties, Statistics statistics, + Optional tableSample, + Collection operativeSlots, List virtualColumns, + List scoreOrderKeys, Optional scoreLimit, + List annOrderKeys, Optional annLimit, String tableAlias) { super(id, PlanType.PHYSICAL_OLAP_SCAN, olapTable, qualifier, - groupExpression, logicalProperties, physicalProperties, statistics, operativeSlots); + groupExpression, logicalProperties, physicalProperties, statistics, operativeSlots, tableAlias); this.selectedIndexId = selectedIndexId; this.selectedTabletIds = ImmutableList.copyOf(selectedTabletIds); this.selectedPartitionIds = ImmutableList.copyOf(selectedPartitionIds); @@ -225,16 +243,9 @@ public String toString() { rfV2 = runtimeFiltersV2.toString(); } - // String operativeCol = ""; - // if (!operativeSlots.isEmpty()) { - // operativeCol = " operativeSlots(" + operativeSlots + ")"; - // } - // String vir = ""; - // if (!virtualColumns.isEmpty()) { - // vir = " vir(" + virtualColumns + ")"; - // } return Utils.toSqlString("PhysicalOlapScan[" + table.getName() + index + partitions + "]" + getGroupIdWithPrefix(), + "alias", tableAlias, "stats", statistics, "operativeSlots", operativeSlots, "virtualColumns", virtualColumns, @@ -283,8 +294,8 @@ public R accept(PlanVisitor visitor, C context) { public PhysicalOlapScan withGroupExpression(Optional groupExpression) { return new PhysicalOlapScan(relationId, getTable(), qualifier, selectedIndexId, selectedTabletIds, selectedPartitionIds, distributionSpec, preAggStatus, baseOutputs, - groupExpression, getLogicalProperties(), tableSample, operativeSlots, virtualColumns, - scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + groupExpression, getLogicalProperties(), null, null, tableSample, operativeSlots, virtualColumns, + scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } @Override @@ -292,8 +303,8 @@ public Plan withGroupExprLogicalPropChildren(Optional groupExpr Optional logicalProperties, List children) { return new PhysicalOlapScan(relationId, getTable(), qualifier, selectedIndexId, selectedTabletIds, selectedPartitionIds, distributionSpec, preAggStatus, baseOutputs, groupExpression, - logicalProperties.get(), tableSample, operativeSlots, virtualColumns, - scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + logicalProperties.get(), null, null, tableSample, operativeSlots, virtualColumns, + scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } @Override @@ -302,7 +313,7 @@ public PhysicalOlapScan withPhysicalPropertiesAndStats( return new PhysicalOlapScan(relationId, getTable(), qualifier, selectedIndexId, selectedTabletIds, selectedPartitionIds, distributionSpec, preAggStatus, baseOutputs, groupExpression, getLogicalProperties(), physicalProperties, statistics, tableSample, operativeSlots, - virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit); + virtualColumns, scoreOrderKeys, scoreLimit, annOrderKeys, annLimit, tableAlias); } @Override @@ -329,7 +340,7 @@ public CatalogRelation withOperativeSlots(Collection operativeSlots) { selectedPartitionIds, distributionSpec, preAggStatus, baseOutputs, groupExpression, getLogicalProperties(), getPhysicalProperties(), statistics, tableSample, operativeSlots, virtualColumns, scoreOrderKeys, scoreLimit, - annOrderKeys, annLimit); + annOrderKeys, annLimit, tableAlias); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java index 34e91af8375040..6196e0918737f8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java @@ -191,12 +191,13 @@ public static String toSqlString(String planName, Object... variables) { if (variables.length == 0) { return stringBuilder.append(" )").toString(); } - + boolean first = true; for (int i = 0; i < variables.length - 1; i += 2) { if (!"".equals(toStringOrNull(variables[i + 1]))) { - if (i != 0) { + if (!first) { stringBuilder.append(", "); } + first = false; stringBuilder.append(toStringOrNull(variables[i])).append("=").append(toStringOrNull(variables[i + 1])); } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java index 5fb4e16988cd56..d8f5a0e8131c00 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/RewriteTopDownJobTest.java @@ -130,5 +130,10 @@ public Plan withGroupExprLogicalPropChildren(Optional groupExpr public LogicalBoundRelation withRelationId(RelationId relationId) { throw new RuntimeException("should not call LogicalBoundRelation's withRelationId method"); } + + @Override + public LogicalBoundRelation withTableAlias(String alias) { + return this; + } } } diff --git a/regression-test/data/nereids_rules_p0/agg_skew_rewrite/agg_skew_rewrite.out b/regression-test/data/nereids_rules_p0/agg_skew_rewrite/agg_skew_rewrite.out index 813a08ce40d4e8..8953d96f3eb64b 100644 --- a/regression-test/data/nereids_rules_p0/agg_skew_rewrite/agg_skew_rewrite.out +++ b/regression-test/data/nereids_rules_p0/agg_skew_rewrite/agg_skew_rewrite.out @@ -280,9 +280,9 @@ \N \N 0 -- !all_null_sum0 -- -0.0 -0.0 -0.0 +0 +0 +0 -- !subquery_skew -- 3 @@ -522,8 +522,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() -------------PhysicalOlapScan[test_skew_hint] -------------PhysicalOlapScan[test_skew_hint] +------------PhysicalOlapScan[test_skew_hint(t1)] +------------PhysicalOlapScan[test_skew_hint(t2)] -- !shape_hint_agg_agg -- PhysicalResultSink diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/basic.out b/regression-test/data/nereids_rules_p0/eager_aggregate/basic.out index 68164611ed03d9..717af2c6806157 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/basic.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/basic.out @@ -5,35 +5,35 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------filter((a.event_id = 'ad_click')) -----------PhysicalOlapScan[com_dd_library] +----------PhysicalOlapScan[com_dd_library(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 37.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library] +----------PhysicalOlapScan[shunt_log_com_dd_library(b)] -- !2 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() ---------PhysicalOlapScan[com_dd_library] +--------PhysicalOlapScan[com_dd_library(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library] +----------PhysicalOlapScan[shunt_log_com_dd_library(b)] -- !3 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() ---------PhysicalOlapScan[com_dd_library] +--------PhysicalOlapScan[com_dd_library(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library] +----------PhysicalOlapScan[shunt_log_com_dd_library(b)] -- !4 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() ---------PhysicalOlapScan[com_dd_library] ---------PhysicalOlapScan[shunt_log_com_dd_library] +--------PhysicalOlapScan[com_dd_library(a)] +--------PhysicalOlapScan[shunt_log_com_dd_library(b)] -- !with_hint_1 -- PhysicalResultSink @@ -42,10 +42,10 @@ PhysicalResultSink ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] ----------filter((a.event_id = 'ad_click')) -------------PhysicalOlapScan[com_dd_library] +------------PhysicalOlapScan[com_dd_library(a)] --------hashAgg[GLOBAL] ----------filter((cast(experiment_id as DECIMALV3(38, 6)) = 37.000000)) -------------PhysicalOlapScan[shunt_log_com_dd_library] +------------PhysicalOlapScan[shunt_log_com_dd_library(b)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -58,9 +58,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[com_dd_library] +----------PhysicalOlapScan[com_dd_library(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library] +----------PhysicalOlapScan[shunt_log_com_dd_library(b)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -73,9 +73,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[com_dd_library] +----------PhysicalOlapScan[com_dd_library(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library] +----------PhysicalOlapScan[shunt_log_com_dd_library(b)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -88,8 +88,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[com_dd_library] ---------PhysicalOlapScan[shunt_log_com_dd_library] +----------PhysicalOlapScan[com_dd_library(a)] +--------PhysicalOlapScan[shunt_log_com_dd_library(b)] Hint log: Used: use_push_down_agg_through_join_one_side diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/basic_one_side.out b/regression-test/data/nereids_rules_p0/eager_aggregate/basic_one_side.out index cd8980c71a35d4..40e57c30dd9582 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/basic_one_side.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/basic_one_side.out @@ -5,35 +5,35 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------filter((a.event_id = 'ad_click')) -----------PhysicalOlapScan[com_dd_library_one_side] +----------PhysicalOlapScan[com_dd_library_one_side(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 37.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +----------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] -- !2 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() ---------PhysicalOlapScan[com_dd_library_one_side] +--------PhysicalOlapScan[com_dd_library_one_side(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +----------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] -- !3 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() ---------PhysicalOlapScan[com_dd_library_one_side] +--------PhysicalOlapScan[com_dd_library_one_side(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +----------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] -- !4 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() ---------PhysicalOlapScan[com_dd_library_one_side] ---------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +--------PhysicalOlapScan[com_dd_library_one_side(a)] +--------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] -- !with_hint_1 -- PhysicalResultSink @@ -42,10 +42,10 @@ PhysicalResultSink ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] ----------filter((a.event_id = 'ad_click')) -------------PhysicalOlapScan[com_dd_library_one_side] +------------PhysicalOlapScan[com_dd_library_one_side(a)] --------hashAgg[GLOBAL] ----------filter((cast(experiment_id as DECIMALV3(38, 6)) = 37.000000)) -------------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +------------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -58,9 +58,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[com_dd_library_one_side] +----------PhysicalOlapScan[com_dd_library_one_side(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +----------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -73,9 +73,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[com_dd_library_one_side] +----------PhysicalOlapScan[com_dd_library_one_side(a)] --------filter((cast(experiment_id as DECIMALV3(38, 6)) = 73.000000)) -----------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +----------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -88,8 +88,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((a.device_id = b.device_id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[com_dd_library_one_side] ---------PhysicalOlapScan[shunt_log_com_dd_library_one_side] +----------PhysicalOlapScan[com_dd_library_one_side(a)] +--------PhysicalOlapScan[shunt_log_com_dd_library_one_side(b)] Hint log: Used: use_push_down_agg_through_join_one_side diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_distinct_through_join_one_side.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_distinct_through_join_one_side.out index 4a84ff5117c008..69b42b6eedce76 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_distinct_through_join_one_side.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_distinct_through_join_one_side.out @@ -34,10 +34,10 @@ -- !groupby_pushdown_complex_conditions -- -- !groupby_pushdown_with_aggregate -- -1 1.0 -1 2.0 -1 3.0 -3 2.0 +1 1 +1 2 +1 3 +3 2 -- !groupby_pushdown_subquery -- @@ -94,7 +94,7 @@ c 1 1 1 1.5 1 1 4.5 1 1 7.5 1 -3 7.0 0 +3 7 0 -- !groupby_pushdown_with_order_by_limit -- 1 @@ -152,10 +152,10 @@ c 1 1 -- !with_hint_groupby_pushdown_complex_conditions -- -- !with_hint_groupby_pushdown_with_aggregate -- -1 1.0 -1 2.0 -1 3.0 -3 2.0 +1 1 +1 2 +1 3 +3 2 -- !with_hint_groupby_pushdown_subquery -- @@ -212,7 +212,7 @@ c 1 1 1 1.5 1 1 4.5 1 1 7.5 1 -3 7.0 0 +3 7 0 -- !with_hint_groupby_pushdown_with_order_by_limit -- 1 diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join.out index 48f4292fcd760b..709d8d0eb821c5 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join.out @@ -4,71 +4,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -77,15 +77,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -95,25 +95,25 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[count_t] -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] +----------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_mixed_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_multi_table_join_1 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] -------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] +------PhysicalOlapScan[count_t(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -122,57 +122,57 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_equal_conditions_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -181,32 +181,32 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_alias_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1_alias)] +--------PhysicalOlapScan[count_t(t2_alias)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_function_processed_columns -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -223,71 +223,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -296,15 +296,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -314,17 +314,17 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[count_t] -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] +----------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_multi_table_join_2 -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] -------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] +------PhysicalOlapScan[count_t(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -333,41 +333,41 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -376,16 +376,16 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -402,8 +402,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -415,8 +415,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -428,8 +428,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -441,8 +441,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -454,8 +454,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -467,8 +467,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -480,8 +480,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -493,8 +493,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -506,7 +506,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -520,8 +520,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -533,7 +533,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -548,8 +548,8 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[count_t] -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] +----------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -561,8 +561,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -574,9 +574,9 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] -------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] +------PhysicalOlapScan[count_t(t3)] Hint log: Used: @@ -590,8 +590,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -603,8 +603,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -616,8 +616,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -629,8 +629,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -642,8 +642,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -655,9 +655,9 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] Hint log: Used: @@ -669,8 +669,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -684,8 +684,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -697,8 +697,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1_alias)] +--------PhysicalOlapScan[count_t(t2_alias)] Hint log: Used: @@ -710,8 +710,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -723,8 +723,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -751,8 +751,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -764,8 +764,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -777,8 +777,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -790,8 +790,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -803,8 +803,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -816,8 +816,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -829,8 +829,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -842,8 +842,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -855,7 +855,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -869,8 +869,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -882,7 +882,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((count_t.score > 10)) ----------PhysicalOlapScan[count_t] @@ -897,8 +897,8 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[count_t] -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] +----------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -910,9 +910,9 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] -------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] +------PhysicalOlapScan[count_t(t3)] Hint log: Used: @@ -926,8 +926,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -939,8 +939,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -952,8 +952,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -965,9 +965,9 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[count_t] +----------PhysicalOlapScan[count_t(t1)] Hint log: Used: @@ -979,8 +979,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -994,8 +994,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t] -------------PhysicalOlapScan[count_t] +------------PhysicalOlapScan[count_t(t1)] +------------PhysicalOlapScan[count_t(t2)] Hint log: Used: @@ -1007,8 +1007,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[count_t] ---------PhysicalOlapScan[count_t] +--------PhysicalOlapScan[count_t(t1)] +--------PhysicalOlapScan[count_t(t2)] Hint log: Used: diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out index 1cbde8708f396c..b9a4c103a9b767 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_count_through_join_one_side.out @@ -4,71 +4,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------filter((count_t_one_side.score > 10)) ----------PhysicalOlapScan[count_t_one_side] @@ -77,15 +77,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------filter((count_t_one_side.score > 10)) ----------PhysicalOlapScan[count_t_one_side] @@ -95,25 +95,25 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[count_t_one_side] -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +----------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_mixed_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_multi_table_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] -------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] +------PhysicalOlapScan[count_t_one_side(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -122,57 +122,57 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -181,32 +181,32 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_alias_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1_alias)] +--------PhysicalOlapScan[count_t_one_side(t2_alias)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_function_processed_columns -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -223,71 +223,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------filter((count_t_one_side.score > 10)) ----------PhysicalOlapScan[count_t_one_side] @@ -296,15 +296,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------filter((count_t_one_side.score > 10)) ----------PhysicalOlapScan[count_t_one_side] @@ -314,17 +314,17 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[count_t_one_side] -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +----------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_multi_table_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] -------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] +------PhysicalOlapScan[count_t_one_side(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -333,41 +333,41 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -376,16 +376,16 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -403,8 +403,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -416,8 +416,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -429,8 +429,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -442,8 +442,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -456,8 +456,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -469,8 +469,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -483,8 +483,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -496,8 +496,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -509,7 +509,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((count_t_one_side.score > 10)) ------------PhysicalOlapScan[count_t_one_side] @@ -524,8 +524,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -537,7 +537,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((count_t_one_side.score > 10)) ------------PhysicalOlapScan[count_t_one_side] @@ -554,8 +554,8 @@ PhysicalResultSink ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----------hashAgg[GLOBAL] -------------PhysicalOlapScan[count_t_one_side] -----------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] +----------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -568,8 +568,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -580,13 +580,13 @@ SyntaxError: PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() -------PhysicalOlapScan[count_t_one_side] +------PhysicalOlapScan[count_t_one_side(t3)] ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +--------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -601,8 +601,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +--------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -615,8 +615,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -629,9 +629,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -644,8 +644,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -658,9 +658,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -672,10 +672,10 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((t1.score > 50)) -------------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -687,8 +687,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -703,8 +703,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +--------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -717,8 +717,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1_alias)] +--------PhysicalOlapScan[count_t_one_side(t2_alias)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -731,8 +731,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -744,8 +744,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -774,8 +774,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -787,8 +787,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -800,8 +800,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -813,8 +813,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -827,8 +827,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -840,8 +840,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -854,8 +854,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -868,8 +868,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -881,7 +881,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((count_t_one_side.score > 10)) ------------PhysicalOlapScan[count_t_one_side] @@ -896,8 +896,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -909,7 +909,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((count_t_one_side.score > 10)) ------------PhysicalOlapScan[count_t_one_side] @@ -926,8 +926,8 @@ PhysicalResultSink ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----------hashAgg[GLOBAL] -------------PhysicalOlapScan[count_t_one_side] -----------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] +----------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -938,13 +938,13 @@ SyntaxError: PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() -------PhysicalOlapScan[count_t_one_side] +------PhysicalOlapScan[count_t_one_side(t3)] ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +--------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -959,8 +959,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +--------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -973,8 +973,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -987,8 +987,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -1000,10 +1000,10 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((t1.score > 50)) -------------PhysicalOlapScan[count_t_one_side] +------------PhysicalOlapScan[count_t_one_side(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -1015,8 +1015,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +--------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: @@ -1031,8 +1031,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[count_t_one_side] -------------PhysicalOlapScan[count_t_one_side] +--------------PhysicalOlapScan[count_t_one_side(t1)] +------------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -1045,8 +1045,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[count_t_one_side] ---------PhysicalOlapScan[count_t_one_side] +----------PhysicalOlapScan[count_t_one_side(t1)] +--------PhysicalOlapScan[count_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out index b5d05241012022..721adabf79816f 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out @@ -4,71 +4,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------filter((max_t.score > 10)) ----------PhysicalOlapScan[max_t] @@ -77,15 +77,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------filter((max_t.score > 10)) ----------PhysicalOlapScan[max_t] @@ -94,17 +94,17 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------filter((t1.score > 100)) -----------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] -- !groupby_pushdown_mixed_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_multi_table_join -- PhysicalResultSink @@ -112,9 +112,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[max_t] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +----------PhysicalOlapScan[max_t(t2)] +--------PhysicalOlapScan[max_t(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -123,57 +123,57 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[max_t] -------------PhysicalOlapScan[max_t] +------------PhysicalOlapScan[max_t(t1)] +------------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_equal_conditions_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -182,32 +182,32 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[max_t] -------------PhysicalOlapScan[max_t] +------------PhysicalOlapScan[max_t(t1)] +------------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_alias_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1_alias)] +--------PhysicalOlapScan[max_t(t2_alias)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_function_processed_columns -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -225,8 +225,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -238,8 +238,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -251,8 +251,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -264,8 +264,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -278,8 +278,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -291,8 +291,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -305,8 +305,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -318,8 +318,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -331,7 +331,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------hashAgg[GLOBAL] ----------filter((max_t.score > 10)) ------------PhysicalOlapScan[max_t] @@ -346,8 +346,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -359,7 +359,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------hashAgg[GLOBAL] ----------filter((max_t.score > 10)) ------------PhysicalOlapScan[max_t] @@ -374,10 +374,10 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------hashAgg[GLOBAL] ----------filter((t1.score > 100)) -------------PhysicalOlapScan[max_t] +------------PhysicalOlapScan[max_t(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -390,8 +390,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -402,13 +402,13 @@ SyntaxError: PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() -------PhysicalOlapScan[max_t] +------PhysicalOlapScan[max_t(t3)] ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[max_t] -------------PhysicalOlapScan[max_t] +--------------PhysicalOlapScan[max_t(t1)] +------------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -423,8 +423,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[max_t] -------------PhysicalOlapScan[max_t] +--------------PhysicalOlapScan[max_t(t1)] +------------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -437,8 +437,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -451,9 +451,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -466,8 +466,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -480,9 +480,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -494,10 +494,10 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t2)] --------hashAgg[GLOBAL] ----------filter((t1.score > 50)) -------------PhysicalOlapScan[max_t] +------------PhysicalOlapScan[max_t(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -509,8 +509,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: @@ -525,8 +525,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[max_t] -------------PhysicalOlapScan[max_t] +--------------PhysicalOlapScan[max_t(t1)] +------------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -539,8 +539,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1_alias)] +--------PhysicalOlapScan[max_t(t2_alias)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -553,8 +553,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +----------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -566,8 +566,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[max_t] ---------PhysicalOlapScan[max_t] +--------PhysicalOlapScan[max_t(t1)] +--------PhysicalOlapScan[max_t(t2)] Hint log: Used: diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_distinct_through_join_one_side.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_distinct_through_join_one_side.out index db15483c496eb4..434c37d5d9a48c 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_distinct_through_join_one_side.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_distinct_through_join_one_side.out @@ -34,10 +34,10 @@ -- !groupby_pushdown_complex_conditions -- -- !groupby_pushdown_with_aggregate -- -1 1.0 -1 2.0 -2 2.0 -3 3.0 +1 1 +1 2 +2 2 +3 3 -- !groupby_pushdown_subquery -- @@ -92,7 +92,7 @@ c 3 3 -- !groupby_pushdown_varied_aggregates -- 1 1.5 a -1 7.0 \N +1 7 \N 2 4.5 b 3 7.5 c @@ -152,10 +152,10 @@ c 3 3 -- !with_hint_groupby_pushdown_complex_conditions -- -- !with_hint_groupby_pushdown_with_aggregate -- -1 1.0 -1 2.0 -2 2.0 -3 3.0 +1 1 +1 2 +2 2 +3 3 -- !with_hint_groupby_pushdown_subquery -- @@ -210,7 +210,7 @@ c 3 3 -- !with_hint_groupby_pushdown_varied_aggregates -- 1 1.5 a -1 7.0 \N +1 7 \N 2 4.5 b 3 7.5 c diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_through_join.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_through_join.out index b5517743ee8d31..380636767f30d4 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_through_join.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_min_through_join.out @@ -4,64 +4,64 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink @@ -70,15 +70,15 @@ PhysicalResultSink ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((min_t.score > 10)) ----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_outer_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink @@ -87,7 +87,7 @@ PhysicalResultSink ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((min_t.score > 10)) ----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_having -- PhysicalResultSink @@ -95,16 +95,16 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[min_t] -----------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +----------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_mixed_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_multi_table_join -- PhysicalResultSink @@ -112,9 +112,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[min_t] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +----------PhysicalOlapScan[min_t(t2)] +--------PhysicalOlapScan[min_t(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -123,40 +123,40 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[min_t] -------------PhysicalOlapScan[min_t] +------------PhysicalOlapScan[min_t(t1)] +------------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_equal_conditions_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink @@ -164,16 +164,16 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((t1.score > 50)) -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -182,32 +182,32 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[min_t] -------------PhysicalOlapScan[min_t] +------------PhysicalOlapScan[min_t(t1)] +------------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_alias_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1_alias)] +--------PhysicalOlapScan[min_t(t2_alias)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_function_processed_columns -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -225,8 +225,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -238,8 +238,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -251,8 +251,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -264,8 +264,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -278,8 +278,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -291,8 +291,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -305,8 +305,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -318,8 +318,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -334,7 +334,7 @@ PhysicalResultSink --------hashAgg[GLOBAL] ----------filter((min_t.score > 10)) ------------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -346,8 +346,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -362,7 +362,7 @@ PhysicalResultSink --------hashAgg[GLOBAL] ----------filter((min_t.score > 10)) ------------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -376,8 +376,8 @@ PhysicalResultSink ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----------hashAgg[GLOBAL] -------------PhysicalOlapScan[min_t] -----------PhysicalOlapScan[min_t] +------------PhysicalOlapScan[min_t(t1)] +----------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -390,8 +390,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -406,9 +406,9 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[min_t] -------------PhysicalOlapScan[min_t] -------PhysicalOlapScan[min_t] +--------------PhysicalOlapScan[min_t(t1)] +------------PhysicalOlapScan[min_t(t2)] +------PhysicalOlapScan[min_t(t3)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -423,8 +423,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[min_t] -------------PhysicalOlapScan[min_t] +--------------PhysicalOlapScan[min_t(t1)] +------------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -437,8 +437,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -451,9 +451,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -466,8 +466,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -480,9 +480,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -496,8 +496,8 @@ PhysicalResultSink ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] ----------filter((t1.score > 50)) -------------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +------------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -509,8 +509,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: @@ -525,8 +525,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[min_t] -------------PhysicalOlapScan[min_t] +--------------PhysicalOlapScan[min_t(t1)] +------------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -539,8 +539,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1_alias)] +--------PhysicalOlapScan[min_t(t2_alias)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -553,8 +553,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +----------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -566,8 +566,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[min_t] ---------PhysicalOlapScan[min_t] +--------PhysicalOlapScan[min_t(t1)] +--------PhysicalOlapScan[min_t(t2)] Hint log: Used: diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_distinct_through_join_one_side.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_distinct_through_join_one_side.out index bb8366176a7ba6..f520240cc73290 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_distinct_through_join_one_side.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_distinct_through_join_one_side.out @@ -34,10 +34,10 @@ -- !groupby_pushdown_complex_conditions -- -- !groupby_pushdown_with_aggregate -- -1 1.0 -2 2.0 -3 3.0 -6 2.0 +1 1 +2 2 +3 3 +6 2 -- !groupby_pushdown_subquery -- @@ -152,10 +152,10 @@ c 3 3 -- !with_hint_groupby_pushdown_complex_conditions -- -- !with_hint_groupby_pushdown_with_aggregate -- -1 1.0 -2 2.0 -3 3.0 -6 2.0 +1 1 +2 2 +3 3 +6 2 -- !with_hint_groupby_pushdown_subquery -- diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join.out index 88420a14b13e15..d7df3cbed86e71 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join.out @@ -4,71 +4,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t2)] --------filter((sum_t.score > 10)) ----------PhysicalOlapScan[sum_t] @@ -77,15 +77,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t2)] --------filter((sum_t.score > 10)) ----------PhysicalOlapScan[sum_t] @@ -95,25 +95,25 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[sum_t] -----------PhysicalOlapScan[sum_t] +----------PhysicalOlapScan[sum_t(t1)] +----------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_mixed_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_multi_table_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] -------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] +------PhysicalOlapScan[sum_t(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -122,57 +122,57 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[sum_t] -------------PhysicalOlapScan[sum_t] +------------PhysicalOlapScan[sum_t(t1)] +------------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_equal_conditions_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[sum_t] +----------PhysicalOlapScan[sum_t(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -181,32 +181,32 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[sum_t] -------------PhysicalOlapScan[sum_t] +------------PhysicalOlapScan[sum_t(t1)] +------------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_alias_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1_alias)] +--------PhysicalOlapScan[sum_t(t2_alias)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_function_processed_columns -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -223,8 +223,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -236,8 +236,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -249,8 +249,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -262,8 +262,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -275,8 +275,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -288,8 +288,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -301,8 +301,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -314,8 +314,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -327,7 +327,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t2)] --------filter((sum_t.score > 10)) ----------PhysicalOlapScan[sum_t] @@ -341,8 +341,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -354,7 +354,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t2)] --------filter((sum_t.score > 10)) ----------PhysicalOlapScan[sum_t] @@ -369,8 +369,8 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[sum_t] -----------PhysicalOlapScan[sum_t] +----------PhysicalOlapScan[sum_t(t1)] +----------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -382,8 +382,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -395,9 +395,9 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] -------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] +------PhysicalOlapScan[sum_t(t3)] Hint log: Used: @@ -411,8 +411,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[sum_t] -------------PhysicalOlapScan[sum_t] +------------PhysicalOlapScan[sum_t(t1)] +------------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -424,8 +424,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -437,8 +437,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -450,8 +450,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -463,8 +463,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -476,9 +476,9 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[sum_t] +----------PhysicalOlapScan[sum_t(t1)] Hint log: Used: @@ -490,8 +490,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -505,8 +505,8 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[sum_t] -------------PhysicalOlapScan[sum_t] +------------PhysicalOlapScan[sum_t(t1)] +------------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -518,8 +518,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1_alias)] +--------PhysicalOlapScan[sum_t(t2_alias)] Hint log: Used: @@ -531,8 +531,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: @@ -544,8 +544,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t] ---------PhysicalOlapScan[sum_t] +--------PhysicalOlapScan[sum_t(t1)] +--------PhysicalOlapScan[sum_t(t2)] Hint log: Used: diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join_one_side.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join_one_side.out index 3fce9ec9b1ab94..ff4de95e6c89ef 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join_one_side.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_sum_through_join_one_side.out @@ -4,71 +4,71 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_left_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_right_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_full_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_left_semi_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_left_anti_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_complex_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t2)] --------filter((sum_t_one_side.score > 10)) ----------PhysicalOlapScan[sum_t_one_side] @@ -77,15 +77,15 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_deep_subquery -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t2)] --------filter((sum_t_one_side.score > 10)) ----------PhysicalOlapScan[sum_t_one_side] @@ -95,25 +95,25 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[sum_t_one_side] -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +----------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_mixed_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_multi_table_join -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] -------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] +------PhysicalOlapScan[sum_t_one_side(t3)] -- !groupby_pushdown_with_order_by -- PhysicalResultSink @@ -122,57 +122,57 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[sum_t_one_side] -------------PhysicalOlapScan[sum_t_one_side] +------------PhysicalOlapScan[sum_t_one_side(t1)] +------------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_equal_conditions_non_aggregate_selection_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_with_where_clause -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t2)] --------filter((t1.score > 50)) -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] -- !groupby_pushdown_varied_aggregates -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_with_order_by_limit -- PhysicalResultSink @@ -181,32 +181,32 @@ PhysicalResultSink ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------------PhysicalOlapScan[sum_t_one_side] -------------PhysicalOlapScan[sum_t_one_side] +------------PhysicalOlapScan[sum_t_one_side(t1)] +------------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_alias_multiple_equal_conditions -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1_alias)] +--------PhysicalOlapScan[sum_t_one_side(t2_alias)] -- !groupby_pushdown_complex_join_condition -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_function_processed_columns -- PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] -- !groupby_pushdown_nested_queries -- PhysicalResultSink @@ -224,9 +224,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] --------filter((t2.score < 100)) -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -238,8 +238,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -251,8 +251,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -264,8 +264,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -278,8 +278,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -291,8 +291,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -305,8 +305,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.name < t2.name)) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -318,8 +318,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -331,7 +331,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((sum_t_one_side.score > 10)) ------------PhysicalOlapScan[sum_t_one_side] @@ -346,8 +346,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -359,7 +359,7 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((sum_t_one_side.score > 10)) ------------PhysicalOlapScan[sum_t_one_side] @@ -376,8 +376,8 @@ PhysicalResultSink ------hashAgg[LOCAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----------hashAgg[GLOBAL] -------------PhysicalOlapScan[sum_t_one_side] -----------PhysicalOlapScan[sum_t_one_side] +------------PhysicalOlapScan[sum_t_one_side(t1)] +----------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -390,8 +390,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -402,13 +402,13 @@ SyntaxError: PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.name = t3.name)) otherCondition=() -------PhysicalOlapScan[sum_t_one_side] +------PhysicalOlapScan[sum_t_one_side(t3)] ------hashAgg[GLOBAL] --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[sum_t_one_side] -------------PhysicalOlapScan[sum_t_one_side] +--------------PhysicalOlapScan[sum_t_one_side(t1)] +------------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -423,8 +423,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[sum_t_one_side] -------------PhysicalOlapScan[sum_t_one_side] +--------------PhysicalOlapScan[sum_t_one_side(t1)] +------------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -437,8 +437,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -451,9 +451,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t2)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -466,8 +466,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -480,9 +480,9 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -494,10 +494,10 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t2)] --------hashAgg[GLOBAL] ----------filter((t1.score > 50)) -------------PhysicalOlapScan[sum_t_one_side] +------------PhysicalOlapScan[sum_t_one_side(t1)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -509,8 +509,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: @@ -525,8 +525,8 @@ PhysicalResultSink --------hashAgg[LOCAL] ----------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------------hashAgg[GLOBAL] ---------------PhysicalOlapScan[sum_t_one_side] -------------PhysicalOlapScan[sum_t_one_side] +--------------PhysicalOlapScan[sum_t_one_side(t1)] +------------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -539,8 +539,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1_alias.id = t2_alias.id) and (t1_alias.name = t2_alias.name)) otherCondition=() --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1_alias)] +--------PhysicalOlapScan[sum_t_one_side(t2_alias)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -553,8 +553,8 @@ PhysicalResultSink ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.score = t2.score)) otherCondition=(( not (name = name))) --------hashAgg[GLOBAL] -----------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +----------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: use_push_down_agg_through_join_one_side @@ -566,8 +566,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashAgg[LOCAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[sum_t_one_side] ---------PhysicalOlapScan[sum_t_one_side] +--------PhysicalOlapScan[sum_t_one_side(t1)] +--------PhysicalOlapScan[sum_t_one_side(t2)] Hint log: Used: diff --git a/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by.out b/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by.out index ab48af56fae46c..5c264971256ff5 100644 --- a/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by.out +++ b/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by.out @@ -14,24 +14,24 @@ 5 1 -- !avg -- -1 2.0 -2 2.0 -3 4.0 -4 4.0 +1 2 +2 2 +3 4 +4 4 5 \N -- !expr -- -1 2 101.0 3 -2 3 102.0 4 -3 4 103.0 7 -4 5 104.0 8 -5 6 105.0 \N +1 2 101 3 +2 3 102 4 +3 4 103 7 +4 5 104 8 +5 6 105 \N -- !window -- -1 2.0 -2 4.0 -3 4.0 -4 8.0 +1 2 +2 4 +3 4 +4 8 5 \N -- !two_args_func_min_by -- @@ -50,44 +50,44 @@ -- !two_args_func_avg_weighted -- \N \N \N \N \N -2.0 2.0 \N \N \N -2.0 2.0 \N \N \N -4.0 4.0 \N \N \N -4.0 4.0 \N \N \N +2 2 \N \N \N +2 2 \N \N \N +4 4 \N \N \N +4 4 \N \N \N -- !two_args_func_percentile -- \N \N \N -\N \N 2.0 -\N \N 2.0 -\N \N 4.0 -\N \N 4.0 +\N \N 2 +\N \N 2 +\N \N 4 +\N \N 4 -- !stddev -- -1 0.0 \N -2 0.0 \N -3 0.0 \N -4 0.0 \N +1 0 \N +2 0 \N +3 0 \N +4 0 \N 5 \N \N -- !stddev_samp -- -1 0.0 \N -2 0.0 \N -3 0.0 \N -4 0.0 \N +1 0 \N +2 0 \N +3 0 \N +4 0 \N 5 \N \N -- !variance -- -1 0.0 \N -2 0.0 \N -3 0.0 \N -4 0.0 \N +1 0 \N +2 0 \N +3 0 \N +4 0 \N 5 \N \N -- !variance_samp -- -1 0.0 \N -2 0.0 \N -3 0.0 \N -4 0.0 \N +1 0 \N +2 0 \N +3 0 \N +4 0 \N 5 \N \N -- !sum0 -- @@ -98,11 +98,11 @@ 5 0 0 -- !median -- -1 2.0 2 1.0 2.0 2.0 -2 2.0 2 2.0 2.0 2.0 -3 4.0 4 3.0 4.0 4.0 -4 4.0 4 4.0 4.0 4.0 -5 \N \N 5.0 \N \N +1 2 2 1 2 2 +2 2 2 2 2 2 +3 4 4 3 4 4 +4 4 4 4 4 4 +5 \N \N 5 \N \N -- !count_star_shape -- PhysicalResultSink diff --git a/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by_key_by_uniform.out b/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by_key_by_uniform.out index 83fc7e067d92f4..32e744e16307c2 100644 --- a/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by_key_by_uniform.out +++ b/regression-test/data/nereids_rules_p0/eliminate_gby_key/eliminate_group_by_key_by_uniform.out @@ -305,7 +305,7 @@ cherry 3 PhysicalResultSink --PhysicalLimit[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() -------PhysicalOlapScan[test1] +------PhysicalOlapScan[test1(t1)] ------filter((test2.b = 105)) --------PhysicalOlapScan[test2] diff --git a/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out b/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out index ba16949c0c2425..5f99df941c12fa 100644 --- a/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out +++ b/regression-test/data/nereids_rules_p0/eliminate_join_condition/eliminate_join_condition.out @@ -2,50 +2,50 @@ -- !inner_join -- PhysicalResultSink --NestedLoopJoin[CROSS_JOIN] -----PhysicalOlapScan[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !left_outer_join -- PhysicalResultSink --NestedLoopJoin[LEFT_OUTER_JOIN] -----PhysicalOlapScan[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !right_outer_join -- PhysicalResultSink --NestedLoopJoin[RIGHT_OUTER_JOIN] -----PhysicalOlapScan[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !full_outer_join -- PhysicalResultSink --NestedLoopJoin[FULL_OUTER_JOIN] -----PhysicalOlapScan[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !left_semi_join -- PhysicalResultSink --NestedLoopJoin[LEFT_SEMI_JOIN] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----PhysicalStorageLayerAggregate[t] -- !left_anti_join -- PhysicalResultSink --NestedLoopJoin[LEFT_ANTI_JOIN] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----PhysicalStorageLayerAggregate[t] -- !right_semi_join -- PhysicalResultSink --NestedLoopJoin[RIGHT_SEMI_JOIN] ----PhysicalStorageLayerAggregate[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t2)] -- !right_anti_join -- PhysicalResultSink --NestedLoopJoin[RIGHT_ANTI_JOIN] ----PhysicalStorageLayerAggregate[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t2)] -- !inner_join -- 1 1 a 1 1 a diff --git a/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out b/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out index 68d116d02ade20..1031281c82596b 100644 --- a/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out +++ b/regression-test/data/nereids_rules_p0/eliminate_outer_join/eliminate_outer_join.out @@ -3,51 +3,51 @@ PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ------filter((t2.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !right_outer -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] -- !full_outer_join -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] -- !full_outer_join -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[RIGHT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ------filter((t2.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !full_outer_join -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ------filter((t2.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !left_outer -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ------filter((t2.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !multiple_left_outer_1 -- PhysicalResultSink @@ -55,19 +55,19 @@ PhysicalResultSink ----hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((t1.score > 10)) -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] -- !multiple_left_outer_2 -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] --------filter((t2.score > 10)) -----------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] -- !multiple_right_outer_1 -- PhysicalResultSink @@ -75,19 +75,19 @@ PhysicalResultSink ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((t1.score > 10)) -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] -- !multiple_right_outer_2 -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] --------filter((t2.score > 10)) -----------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] -- !multiple_full_outer_1 -- PhysicalResultSink @@ -95,43 +95,43 @@ PhysicalResultSink ----hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((t1.score > 10)) -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] -- !multiple_full_outer_2 -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_OUTER_JOIN broadcast] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[RIGHT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] --------filter((t2.score > 10)) -----------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] -- !left_outer_join_non_null_assertion -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter(( not id IS NULL) and (t1.score > 5)) ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] -- !right_outer_join_non_null_assertion -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[RIGHT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ------filter(( not id IS NULL) and (t2.score > 5)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !full_outer_join_compound_conditions -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----filter(OR[(t1.score > 5),(t2.score > 5)]) ------hashJoin[FULL_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] -- !multiple_joins_complex_conditions -- PhysicalResultSink @@ -139,10 +139,10 @@ PhysicalResultSink ----hashJoin[INNER_JOIN colocated] hashCondition=((t2.id = t3.id)) otherCondition=() ------hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((t1.score > 5)) -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] ------filter(( not score IS NULL)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t3)] -- !using_non_equijoin_conditions -- PhysicalResultSink @@ -151,9 +151,9 @@ PhysicalResultSink ------hashJoin[LEFT_OUTER_JOIN broadcast] hashCondition=((expr_cast(score as BIGINT) = expr_(cast(score as BIGINT) + 10))) otherCondition=() --------PhysicalProject ----------filter(( not id IS NULL)) -------------PhysicalOlapScan[t] +------------PhysicalOlapScan[t(t1)] --------PhysicalProject -----------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] -- !joining_multiple_tables_with_aggregate_functions -- PhysicalResultSink @@ -163,9 +163,9 @@ PhysicalResultSink --------hashAgg[GLOBAL] ----------hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------------PhysicalProject ---------------PhysicalOlapScan[t] +--------------PhysicalOlapScan[t(t1)] ------------PhysicalProject ---------------PhysicalOlapScan[t] +--------------PhysicalOlapScan[t(t2)] -- !using_subqueries -- PhysicalResultSink @@ -173,44 +173,44 @@ PhysicalResultSink ----PhysicalProject ------hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter(( not id IS NULL)) -----------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] --------PhysicalProject -----------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] -- !left_outer -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ------filter(( not name IS NULL)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !right_outer -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ------filter(( not name IS NULL)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !full_outer -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 10)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ------filter(( not name IS NULL)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !self_left_outer -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t1_alias.id)) otherCondition=() -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ------filter((t1_alias.name > '2023-01-01')) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1_alias)] -- !right_outer_aggregate -- PhysicalResultSink @@ -219,9 +219,9 @@ PhysicalResultSink ------PhysicalProject --------hashJoin[RIGHT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() ----------PhysicalProject -------------PhysicalOlapScan[t] +------------PhysicalOlapScan[t(t1)] ----------PhysicalProject -------------PhysicalOlapScan[t] +------------PhysicalOlapScan[t(t2)] -- !full_outer_multiple_tables -- PhysicalResultSink @@ -229,15 +229,15 @@ PhysicalResultSink ----filter(name IS NULL) ------hashJoin[FULL_OUTER_JOIN shuffle] hashCondition=((t1.id = t3.id)) otherCondition=() --------hashJoin[FULL_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[t] -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +----------PhysicalOlapScan[t(t2)] +--------PhysicalOlapScan[t(t3)] -- !left_outer_with_subquery -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ------PhysicalProject --------filter((t2.score > 20)) ----------PhysicalOlapScan[t] @@ -248,9 +248,9 @@ PhysicalResultSink ----PhysicalProject ------hashJoin[INNER_JOIN broadcast] hashCondition=((expr_cast(score as BIGINT) = expr_(cast(score as BIGINT) * 2))) otherCondition=((t1.id < t2.id)) --------PhysicalProject -----------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] --------PhysicalProject -----------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] -- !multiple_outer_with_window_function -- PhysicalResultSink @@ -261,15 +261,15 @@ PhysicalResultSink ----------PhysicalDistribute[DistributionSpecHash] ------------hashJoin[LEFT_OUTER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() --------------PhysicalProject -----------------PhysicalOlapScan[t] +----------------PhysicalOlapScan[t(t1)] --------------PhysicalProject -----------------PhysicalOlapScan[t] +----------------PhysicalOlapScan[t(t2)] -- !join_different_tables_non_null -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN colocated] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ------filter(( not name IS NULL)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] diff --git a/regression-test/data/nereids_rules_p0/expression/test_simplify_comparison_predicate_int_vs_double.out b/regression-test/data/nereids_rules_p0/expression/test_simplify_comparison_predicate_int_vs_double.out index 59ae6df0d908b5..4bff663fa577f4 100644 --- a/regression-test/data/nereids_rules_p0/expression/test_simplify_comparison_predicate_int_vs_double.out +++ b/regression-test/data/nereids_rules_p0/expression/test_simplify_comparison_predicate_int_vs_double.out @@ -3,9 +3,9 @@ PhysicalResultSink --NestedLoopJoin[LEFT_OUTER_JOIN] ----filter((t1.c_s = '870479087484055553')) -------PhysicalOlapScan[tbl1_test_simplify_comparison_predicate_int_vs_double] +------PhysicalOlapScan[tbl1_test_simplify_comparison_predicate_int_vs_double(t1)] ----filter((cast(c_bigint as DOUBLE) = 8.7047908748405555E17)) -------PhysicalOlapScan[tbl2_test_simplify_comparison_predicate_int_vs_double] +------PhysicalOlapScan[tbl2_test_simplify_comparison_predicate_int_vs_double(t2)] -- !cast_bigint_as_double_result -- 100 870479087484055553 200 870479087484055553 999.999 diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/extend_infer_equal_predicate.out b/regression-test/data/nereids_rules_p0/infer_predicate/extend_infer_equal_predicate.out index 27c6841bc3c65a..8ad01db3edc791 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/extend_infer_equal_predicate.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/extend_infer_equal_predicate.out @@ -3,358 +3,358 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = expr_cast(d_tinyint as INT))) otherCondition=() ----filter((t1.d_tinyint < 10)) -------PhysicalOlapScan[extend_infer_t1] -----PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] +----PhysicalOlapScan[extend_infer_t1(t2)] -- !test_simple_compare -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter((t1.d_int < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_int < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_simple_compare_not_equal -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_simple_compare_datetimev2 -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN] ----filter((t1.d_datetimev2 = '2024-01-01 00:00:00')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_datetimev2 = '2024-01-01 00:00:00')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_simple_compare_not_equal_datetimev2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetimev2 = t2.d_datetimev2)) otherCondition=() ----filter(( not (d_datetimev2 = '2024-01-01 00:00:00'))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not (d_datetimev2 = '2024-01-01 00:00:00'))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_not_in -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_in -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter(d_int IN (10, 20)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(d_int IN (10, 20)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_func_not_in -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter(( not abs(d_int) IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not abs(d_int) IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_like -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_char100 = t2.d_char100)) otherCondition=() ----filter((d_char100 like '012%')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((d_char100 like '012%')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_like_not -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_char100 = t2.d_char100)) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not (d_char100 like '012%'))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_like_to_equal -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN] ----filter((t1.d_char100 = '012')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_char100 = '012')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_func_not_in_and_func_equal_condition -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_abs(d_int) = expr_abs(d_int))) otherCondition=() ----filter(( not abs(d_int) IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not abs(d_int) IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_between_and -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ----filter((t1.a <= 10) and (t1.a >= 1)) -------PhysicalOlapScan[extend_infer_t3] +------PhysicalOlapScan[extend_infer_t3(t1)] ----filter((t2.a <= 10) and (t2.a >= 1)) -------PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t4(t2)] -- !test_and -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ----filter((t1.a <= 10) and (t1.a >= 2)) -------PhysicalOlapScan[extend_infer_t3] +------PhysicalOlapScan[extend_infer_t3(t1)] ----filter((t2.a <= 10) and (t2.a >= 2)) -------PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t4(t2)] -- !test_or1 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ----filter(OR[(t1.a < 2),(t1.a > 10)]) -------PhysicalOlapScan[extend_infer_t3] -----PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t3(t1)] +----PhysicalOlapScan[extend_infer_t4(t2)] -- !test_or2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ----filter(OR[(t1.a < 2),(t1.a > 10)]) -------PhysicalOlapScan[extend_infer_t3] -----PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t3(t1)] +----PhysicalOlapScan[extend_infer_t4(t2)] -- !test_sign_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ----filter((sign(cast(a as DOUBLE)) >= 1)) -------PhysicalOlapScan[extend_infer_t3] +------PhysicalOlapScan[extend_infer_t3(t1)] ----filter((sign(cast(a as DOUBLE)) >= 1)) -------PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t4(t2)] -- !test_if_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter(if(( not d_int IN (10, 20)), TRUE, FALSE)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_if_and_in_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter(( not (if((d_int = 5), TRUE, FALSE) = FALSE))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not (if((d_int = 5), TRUE, FALSE) = FALSE))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_if_and_in_predicate_not -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ----filter(( not (if((d_int = 5), TRUE, FALSE) = FALSE))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not (if((d_int = 5), TRUE, FALSE) = FALSE))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_multi_slot_in_predicate1 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_(cast(a as BIGINT) + cast(c as BIGINT)) = expr_(cast(a as BIGINT) + cast(c as BIGINT)))) otherCondition=() ----filter(((cast(a as BIGINT) + cast(c as BIGINT)) < 10)) -------PhysicalOlapScan[extend_infer_t3] +------PhysicalOlapScan[extend_infer_t3(t1)] ----filter(((cast(a as BIGINT) + cast(c as BIGINT)) < 10)) -------PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t4(t2)] -- !test_multi_slot_in_predicate2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a) and (t1.b = t2.b)) otherCondition=() ----filter(((cast(a as DOUBLE) + cast(b as DOUBLE)) < 10.0)) -------PhysicalOlapScan[extend_infer_t3] -----PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t3(t1)] +----PhysicalOlapScan[extend_infer_t4(t2)] -- !test_case_when_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter(CASE WHEN (d_int = 1) THEN TRUE WHEN (d_int = 2) THEN FALSE ELSE FALSE END) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_datetimev2_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetimev2 = t2.d_datetimev2)) otherCondition=() ----filter((convert_tz(date_trunc(d_datetimev2, 'month'), 'Asia/Shanghai', 'Europe/Paris') = '2024-01-01 00:00:00')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((convert_tz(date_trunc(d_datetimev2, 'month'), 'Asia/Shanghai', 'Europe/Paris') = '2024-01-01 00:00:00')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_convert_tz_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetimev2 = t2.d_datetimev2)) otherCondition=() ----filter((convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris') > '2022-01-01 00:00:00')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris') > '2022-01-01 00:00:00')) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_next_date_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetimev2 = t2.d_datetimev2)) otherCondition=() ----filter((dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), 10)) > 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), 10)) > 10)) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_random_nest_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetimev2 = t2.d_datetimev2)) otherCondition=() ----filter((dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), cast(random(1, 10) as INT))) > 10)) -------PhysicalOlapScan[extend_infer_t1] -----PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t1(t1)] +----PhysicalOlapScan[extend_infer_t2(t2)] -- !test_random_predicate -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ----filter((cast(a as DOUBLE) > random(10))) -------PhysicalOlapScan[extend_infer_t3] -----PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t3(t1)] +----PhysicalOlapScan[extend_infer_t4(t2)] -- !test_predicate_map -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetimev2 = t2.d_datetimev2)) otherCondition=() ----filter((convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris') < '2022-01-01 00:00:00') and (dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), 10)) > 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris') < '2022-01-01 00:00:00') and (dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), 10)) > 10)) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_int_upcast -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = expr_cast(d_tinyint as INT))) otherCondition=() ----filter((t1.d_int < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_tinyint < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_int_downcast -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as TINYINT) = t2.d_tinyint)) otherCondition=() ----filter((cast(d_int as TINYINT) < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_tinyint < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_date_upcast -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datev2 as DATETIMEV2(0)) = t2.d_datetimev2)) otherCondition=() ----filter((t1.d_datev2 < '2022-01-03')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_datetimev2 < '2022-01-03 00:00:00')) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_date_downcast -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datev2 = expr_cast(d_datetimev2 as DATEV2))) otherCondition=() ----filter((t1.d_datev2 < '2022-01-03')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_datetimev2 < '2022-01-03 00:00:00')) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_date_both_upcast1 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datev2 as DATETIMEV2(0)) = expr_cast(d_date as DATETIMEV2(0)))) otherCondition=() ----filter((t1.d_datev2 < '2022-01-03')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_date < '2022-01-03')) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_date_both_upcast2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_datetime = expr_cast(d_date as DATETIMEV2(0)))) otherCondition=() ----filter((t1.d_datetime < '2022-01-03 00:00:00')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_date < '2022-01-03')) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_char_different_type1 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_char100 = t2.d_char10)) otherCondition=() ----filter((t1.d_char100 > 'abc')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_char10 > 'abc')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_char_different_type2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_substring(cast(d_char100 as CHAR(50)), 1, 50) = t2.d_char10)) otherCondition=() ----filter((substring(cast(d_char100 as CHAR(50)), 1, 50) > 'abc')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_char10 > 'abc')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_char_different_type3 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_substring(cast(d_char100 as CHAR(50)), 1, 50) = expr_substring(cast(d_char10 as CHAR(50)), 1, 50))) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_char10 > 'abc')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_char_different_type4 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_substring(cast(d_char100 as CHAR(200)), 1, 200) = expr_substring(cast(d_char10 as CHAR(200)), 1, 200))) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_char10 > 'abc')) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_cast_and_func -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_abs(d_int) = expr_cast(d_tinyint as BIGINT))) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_tinyint < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_cast_and_func2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(abs(d_int) as TINYINT) = t2.d_tinyint)) otherCondition=() ----filter((cast(abs(d_int) as TINYINT) < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((t2.d_tinyint < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_cast_and_func3 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(cast(d_int as TINYINT) as SMALLINT) = expr_abs(d_tinyint))) otherCondition=() ----filter((cast(d_int as TINYINT) < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((abs(d_tinyint) < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_cast_and_func4 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d_int = expr_cast(abs(d_tinyint) as INT))) otherCondition=() -----PhysicalOlapScan[extend_infer_t1] +----PhysicalOlapScan[extend_infer_t1(t1)] ----filter((abs(d_tinyint) < 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t2)] -- !test_func_equal_and_nest_func_pred1 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris') = expr_convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'))) otherCondition=() ----filter((dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), 10)) > 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((dayofmonth(hours_add(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'), 10)) > 10)) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !test_func_equal_and_nest_func_pred2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris') = expr_convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris'))) otherCondition=() ----filter((dayofmonth(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris')) > 10)) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter((dayofmonth(convert_tz(d_datetimev2, 'Asia/Shanghai', 'Europe/Paris')) > 10)) -------PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t2(t2)] -- !predicate_to_empty_relation -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.a = t3.a)) otherCondition=() ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ------filter((t1.a = 2)) ---------PhysicalOlapScan[extend_infer_t3] +--------PhysicalOlapScan[extend_infer_t3(t1)] ------PhysicalEmptyRelation ----filter((t3.a = 2)) -------PhysicalOlapScan[extend_infer_t4] +------PhysicalOlapScan[extend_infer_t4(t3)] -- !equal_table_predicate_delete -- PhysicalResultSink @@ -494,161 +494,161 @@ PhysicalResultSink PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((c1 = t2.d_int)) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_inner_left2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[INNER_JOIN] hashCondition=((t1.d_int = c1)) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_left_inner -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[INNER_JOIN] hashCondition=((c1 = t2.d_int)) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_left_left -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((c1 = t2.d_int)) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_left_left2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[INNER_JOIN] hashCondition=((t1.d_int = c1)) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_in_inner_right -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[INNER_JOIN] hashCondition=((c1 = t2.d_int)) otherCondition=() ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_in_inner_right2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.d_int = c1)) otherCondition=() ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_in_right_inner -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[INNER_JOIN] hashCondition=((c1 = t2.d_int)) otherCondition=() ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_in_right_right -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[INNER_JOIN] hashCondition=((c1 = t2.d_int)) otherCondition=() ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_in_right_right2 -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t3.d_int = t.c1)) otherCondition=() ----filter(( not d_int IN (10, 20))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.d_int = c1)) otherCondition=() ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not d_int IN (10, 20))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_semi_semi_with_cast -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((expr_cast(d_smallint as INT) = t.c1)) otherCondition=() ----filter(( not (d_smallint = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[LEFT_SEMI_JOIN] hashCondition=((c1 = expr_cast(d_tinyint as INT))) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_tinyint = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_anti_anti_with_cast -- PhysicalResultSink --hashJoin[LEFT_ANTI_JOIN] hashCondition=((expr_cast(d_smallint as INT) = t.c1)) otherCondition=() ----filter(( not (d_smallint = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[LEFT_ANTI_JOIN] hashCondition=((c1 = expr_cast(d_tinyint as INT))) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_tinyint = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_anti_left_with_cast -- PhysicalResultSink --hashJoin[LEFT_ANTI_JOIN] hashCondition=((expr_cast(d_smallint as INT) = t.c1)) otherCondition=() ----filter(( not (d_smallint = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((c1 = expr_cast(d_tinyint as INT))) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_tinyint = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !not_equal_semi_anti_with_cast -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((expr_cast(d_smallint as INT) = t.c1)) otherCondition=() ----filter(( not (d_smallint = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t3)] ----hashJoin[LEFT_ANTI_JOIN] hashCondition=((c1 = expr_cast(d_tinyint as INT))) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_tinyint = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] -- !in_subquery_to_semi_join -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.d_int = extend_infer_t2.d_int)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----filter(( not (d_int = 10))) ------PhysicalOlapScan[extend_infer_t2] @@ -656,7 +656,7 @@ PhysicalResultSink PhysicalResultSink --hashJoin[NULL_AWARE_LEFT_ANTI_JOIN] hashCondition=((t1.d_int = extend_infer_t2.d_int)) otherCondition=() ----filter(( not (d_int = 10))) -------PhysicalOlapScan[extend_infer_t1] +------PhysicalOlapScan[extend_infer_t1(t1)] ----PhysicalOlapScan[extend_infer_t2] -- !in_subquery_to_semi_join -- @@ -664,9 +664,9 @@ PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.d_int = extend_infer_t2.d_int)) otherCondition=() ----hashJoin[INNER_JOIN] hashCondition=((t1.d_int = t2.d_int)) otherCondition=() ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t1)] ------filter(( not (d_int = 10))) ---------PhysicalOlapScan[extend_infer_t1] +--------PhysicalOlapScan[extend_infer_t1(t2)] ----filter(( not (d_int = 10))) ------PhysicalOlapScan[extend_infer_t2] @@ -674,22 +674,22 @@ PhysicalResultSink PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as INT) = t2.d_int)) otherCondition=() ----filter(cast(d_tinyint as DECIMALV3(4, 1)) IN (0.1, 0.5)) -------PhysicalOlapScan[extend_infer_t1] -----PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t1(t1)] +----PhysicalOlapScan[extend_infer_t2(t2)] -- !char_equal_int_infer -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_char10 as DECIMALV3(38, 6)) = expr_cast(d_int as DECIMALV3(38, 6)))) otherCondition=() ----filter(d_char10 IN ('bb', 'd')) -------PhysicalOlapScan[extend_infer_t1] -----PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t1(t1)] +----PhysicalOlapScan[extend_infer_t2(t2)] -- !date_equal_int_infer -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datev2 as DATETIMEV2(0)) = expr_cast(d_int as DATETIMEV2(0)))) otherCondition=() ----filter(d_datev2 IN ('2024-01-01', '2024-01-02')) -------PhysicalOlapScan[extend_infer_t1] -----PhysicalOlapScan[extend_infer_t2] +------PhysicalOlapScan[extend_infer_t1(t1)] +----PhysicalOlapScan[extend_infer_t2(t2)] -- !not_pull_up_grouping -- 12 \N diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out b/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out index 5c1abbb7e34c8f..8ba73f974738d7 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out @@ -78,17 +78,17 @@ PhysicalResultSink PhysicalResultSink --PhysicalIntersect ----filter((abs(a) < 3)) -------PhysicalOlapScan[infer_intersect_except1] +------PhysicalOlapScan[infer_intersect_except1(t1)] ----filter((abs(a) < 3)) -------PhysicalOlapScan[infer_intersect_except2] +------PhysicalOlapScan[infer_intersect_except2(t2)] -- !function_except -- PhysicalResultSink --PhysicalExcept ----filter((abs(a) < 3)) -------PhysicalOlapScan[infer_intersect_except1] +------PhysicalOlapScan[infer_intersect_except1(t1)] ----filter((abs(a) < 3)) -------PhysicalOlapScan[infer_intersect_except2] +------PhysicalOlapScan[infer_intersect_except2(t2)] -- !except_res -- diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/infer_unequal_predicates.out b/regression-test/data/nereids_rules_p0/infer_predicate/infer_unequal_predicates.out index 30e82ec957c3c3..406f7c88429549 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/infer_unequal_predicates.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/infer_unequal_predicates.out @@ -2,121 +2,121 @@ -- !not_infer_same_table_have_mid_column -- PhysicalResultSink --filter((t1.a < 5) and (t1.c < t1.a)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !not_infer_same_table_have_mid_literal -- PhysicalResultSink --filter((t1.a > 1) and (t1.c < 1)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !not_infer_diff_table_have_mid_literal -- PhysicalResultSink --NestedLoopJoin[CROSS_JOIN] ----filter((t1.a < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.a > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_diff_table -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.c < t2.a) ----filter((t1.c < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.a < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !should_infer_because_a_is_key -- PhysicalResultSink --filter((t1.a < 5) and (t1.a < t1.c) and (t1.c < 5)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !should_infer_because_d_is_partition_column -- PhysicalResultSink --filter((t1.c < 10) and (t1.d < 10) and (t1.d < t1.c)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !infer_with_equal -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.c)) otherCondition=() ----filter((t1.a < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.c < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_4_expr -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.a < t2.a) ----filter((t1.a < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.a < 1) and (t2.a < t2.c) and (t2.c < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_long_chain_same_table_infer_a_and_d -- PhysicalResultSink --filter((t1.a < 10) and (t1.a < t1.d) and (t1.c < 10) and (t1.d < 10) and (t1.d < t1.c)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !infer_long_chain_same_table_not_infer_c -- PhysicalResultSink --filter((t1.a < 10) and (t1.a < t1.c) and (t1.c < t1.d) and (t1.d < 10)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !remove_useless_input_predicate_c_less_than_10 -- PhysicalResultSink --filter((t1.a < 10) and (t1.a < t1.c) and (t1.c < t1.d) and (t1.d < 10)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !remove_useless_predicate -- PhysicalResultSink --NestedLoopJoin[CROSS_JOIN] ----filter((t1.a = t1.c) and (t1.a > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] -----PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] +----PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_long_chain_diff_table -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.a < t2.d) ----filter((t1.a < 10)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.c < 10) and (t2.d < 10) and (t2.d < t2.c)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_with_constant_and_columns -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.c)) otherCondition=() ----filter((t1.a > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.c < t2.d) and (t2.c > 1) and (t2.d > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !no_infer -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.a < t2.d) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.d > t2.c)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !no_infer_cyclic_dependency -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.a < t2.c)(t2.c < t1.a) -----PhysicalOlapScan[infer_unequal_predicates_t1] -----PhysicalOlapScan[infer_unequal_predicates_t2] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] +----PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_multiple_conditions -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.a < t2.a) ----filter((t1.a < 10)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.a < 10) and (t2.a < t2.c) and (t2.c < t2.d) and (t2.d < 10)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !infer_cast_int -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](t1.d_int > cast(d_smallint as INT)) ----filter((t1.d_int > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t3] +------PhysicalOlapScan[infer_unequal_predicates_t3(t1)] ----filter((t2.d_smallint > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t3] +------PhysicalOlapScan[infer_unequal_predicates_t3(t2)] -- !multi_slot_equal -- PhysicalResultSink @@ -127,9 +127,9 @@ PhysicalResultSink PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.d = t2.d)) otherCondition=() ----filter((t1.c > 1) and (t1.d < 10) and (t1.d = t1.c) and (t1.d > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t1] +------PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((t2.d < 10) and (t2.d > 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !expr_unequal_infer_same_table1 -- PhysicalResultSink @@ -138,14 +138,14 @@ PhysicalResultSink -- !expr_unequal_infer_same_table2 -- PhysicalResultSink --filter((abs(c) < 1) and (abs(d) < abs(c))) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] -- !expr_unequal_infer_diff_table -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](abs(d) < abs(c)) -----PhysicalOlapScan[infer_unequal_predicates_t1] +----PhysicalOlapScan[infer_unequal_predicates_t1(t1)] ----filter((abs(c) < 1)) -------PhysicalOlapScan[infer_unequal_predicates_t2] +------PhysicalOlapScan[infer_unequal_predicates_t2(t2)] -- !not_infer_expr1 -- PhysicalResultSink diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_agg.out b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_agg.out index 4c25c3be7564f4..330b2e93f2dbd5 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_agg.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_agg.out @@ -39,7 +39,7 @@ PhysicalResultSink ------------filter((test_pull_up_agg_t1.a <= 10) and (test_pull_up_agg_t1.c < 200)) --------------PhysicalOlapScan[test_pull_up_agg_t1] --------filter((t2.a <= 10) and (t2.c < 200)) -----------PhysicalOlapScan[test_pull_up_agg_t2] +----------PhysicalOlapScan[test_pull_up_agg_t2(t2)] -- !max_less_less_equal_without_group_by_shape -- PhysicalResultSink @@ -50,7 +50,7 @@ PhysicalResultSink ----------hashAgg[LOCAL] ------------filter((test_pull_up_agg_t1.a <= 20) and (test_pull_up_agg_t1.c < 200)) --------------PhysicalOlapScan[test_pull_up_agg_t1] ---------PhysicalOlapScan[test_pull_up_agg_t2] +--------PhysicalOlapScan[test_pull_up_agg_t2(t2)] -- !pull_up_from_agg_to_filter_with_same_cond_shape -- PhysicalResultSink diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out index 54d9564bab1fda..8e365fa8fe7373 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out @@ -5,7 +5,7 @@ PhysicalResultSink ----hashJoin[INNER_JOIN] hashCondition=((col1 = ds.col1) and (col2 = ds.col2)) otherCondition=() ------PhysicalOneRowRelation ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal2 -- PhysicalResultSink @@ -13,7 +13,7 @@ PhysicalResultSink ----hashJoin[INNER_JOIN] hashCondition=((col1 = ds.col1) and (col2 = ds.col2)) otherCondition=() ------PhysicalOneRowRelation ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal_suquery -- PhysicalResultSink @@ -22,7 +22,7 @@ PhysicalResultSink ------PhysicalProject --------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal_extra_literal -- PhysicalResultSink @@ -31,7 +31,7 @@ PhysicalResultSink ------PhysicalProject --------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal_with_agg_func -- PhysicalResultSink @@ -42,7 +42,7 @@ PhysicalResultSink ----------hashAgg[LOCAL] ------------PhysicalOlapScan[test_pull_up_predicate_literal] ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal_to_empty_relation -- PhysicalResultSink @@ -56,7 +56,7 @@ PhysicalResultSink --------filter((t.col2 = 'def')) ----------PhysicalOlapScan[test_pull_up_predicate_literal] ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal_outer_has_agg -- PhysicalResultSink @@ -67,7 +67,7 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ----------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) -------------PhysicalOlapScan[test_pull_up_predicate_literal] +------------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !test_pull_up_literal_multi_join -- PhysicalResultSink @@ -78,10 +78,10 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ----------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) -------------PhysicalOlapScan[test_pull_up_predicate_literal] +------------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] ------PhysicalProject --------filter((tmp2.col1 = 'abc')) -----------PhysicalOlapScan[test_pull_up_predicate_literal] +----------PhysicalOlapScan[test_pull_up_predicate_literal(tmp2)] -- !test_pull_up_literal_outer_or -- PhysicalResultSink @@ -90,7 +90,7 @@ PhysicalResultSink ------PhysicalProject --------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ---------PhysicalOlapScan[test_pull_up_predicate_literal] +--------PhysicalOlapScan[test_pull_up_predicate_literal(ds)] -- !const_value_and_join_column_type0 -- PhysicalResultSink @@ -102,7 +102,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_tinyint = 127)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type1 -- PhysicalResultSink @@ -114,7 +114,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_smallint = 127)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type2 -- PhysicalResultSink @@ -126,7 +126,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_int = 127)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type3 -- PhysicalResultSink @@ -138,7 +138,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_bigint = 127)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type4 -- PhysicalResultSink @@ -150,7 +150,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_largeint = 127)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type5 -- PhysicalResultSink @@ -162,7 +162,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as TINYINT) = 127)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type6 -- PhysicalResultSink @@ -174,7 +174,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_float = 127.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type7 -- PhysicalResultSink @@ -186,7 +186,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 127.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type8 -- PhysicalResultSink @@ -198,7 +198,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 127.0000000000000000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type9 -- PhysicalResultSink @@ -210,7 +210,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_date = '2000-01-27')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type10 -- PhysicalResultSink @@ -222,7 +222,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_datetime = '2000-01-27 00:00:00')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type11 -- PhysicalResultSink @@ -234,7 +234,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 127.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type12 -- PhysicalResultSink @@ -246,7 +246,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 127.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type13 -- PhysicalResultSink @@ -258,7 +258,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 127.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type16 -- PhysicalResultSink @@ -274,7 +274,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_smallint = 32767)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type18 -- PhysicalResultSink @@ -286,7 +286,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_int = 32767)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type19 -- PhysicalResultSink @@ -298,7 +298,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_bigint = 32767)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type20 -- PhysicalResultSink @@ -310,7 +310,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_largeint = 32767)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type21 -- PhysicalResultSink @@ -322,7 +322,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as SMALLINT) = 32767)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type22 -- PhysicalResultSink @@ -334,7 +334,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_float = 32767.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type23 -- PhysicalResultSink @@ -346,7 +346,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 32767.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type24 -- PhysicalResultSink @@ -358,7 +358,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 32767.0000000000000000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type25 -- PhysicalResultSink @@ -378,7 +378,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 32767.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type28 -- PhysicalResultSink @@ -390,7 +390,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 32767.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type29 -- PhysicalResultSink @@ -402,7 +402,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 32767.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type32 -- PhysicalResultSink @@ -422,7 +422,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_int = 32768)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type35 -- PhysicalResultSink @@ -434,7 +434,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_bigint = 32768)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type36 -- PhysicalResultSink @@ -446,7 +446,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_largeint = 32768)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type37 -- PhysicalResultSink @@ -458,7 +458,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as INT) = 32768)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type38 -- PhysicalResultSink @@ -470,7 +470,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_float as DOUBLE) = 32768.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type39 -- PhysicalResultSink @@ -482,7 +482,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 32768.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type40 -- PhysicalResultSink @@ -494,7 +494,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 32768.0000000000000000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type41 -- PhysicalResultSink @@ -514,7 +514,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 32768.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type44 -- PhysicalResultSink @@ -526,7 +526,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 32768.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type45 -- PhysicalResultSink @@ -538,7 +538,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 32768.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type48 -- PhysicalResultSink @@ -562,7 +562,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_bigint = 214748364799)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type52 -- PhysicalResultSink @@ -574,7 +574,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_largeint = 214748364799)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type53 -- PhysicalResultSink @@ -586,7 +586,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as BIGINT) = 214748364799)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type54 -- PhysicalResultSink @@ -598,7 +598,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_float as DOUBLE) = 2.14748364799E11)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type55 -- PhysicalResultSink @@ -610,7 +610,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 2.14748364799E11)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type56 -- PhysicalResultSink @@ -622,7 +622,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_decimal as DECIMALV3(38, 18)) = 214748364799.000000000000000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type57 -- PhysicalResultSink @@ -642,7 +642,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 214748364799.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type60 -- PhysicalResultSink @@ -654,7 +654,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 214748364799.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type61 -- PhysicalResultSink @@ -666,7 +666,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 214748364799.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type64 -- PhysicalResultSink @@ -694,7 +694,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_largeint = 922337203685477580722)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type69 -- PhysicalResultSink @@ -706,7 +706,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as LARGEINT) = 922337203685477580722)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type70 -- PhysicalResultSink @@ -718,7 +718,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_float as DOUBLE) = 9.223372036854776E20)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type71 -- PhysicalResultSink @@ -730,7 +730,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 9.223372036854776E20)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type72 -- PhysicalResultSink @@ -754,7 +754,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 922337203685477580722.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type76 -- PhysicalResultSink @@ -766,7 +766,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 922337203685477580722.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type77 -- PhysicalResultSink @@ -778,7 +778,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 922337203685477580722.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type80 -- PhysicalResultSink @@ -790,7 +790,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_tinyint = 1)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type81 -- PhysicalResultSink @@ -802,7 +802,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_smallint = 1)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type82 -- PhysicalResultSink @@ -814,7 +814,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_int = 1)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type83 -- PhysicalResultSink @@ -826,7 +826,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_bigint = 1)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type84 -- PhysicalResultSink @@ -838,7 +838,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_largeint = 1)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type85 -- PhysicalResultSink @@ -850,7 +850,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_bool = TRUE)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type86 -- PhysicalResultSink @@ -862,7 +862,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_float = 1.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type87 -- PhysicalResultSink @@ -874,7 +874,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 1.0)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type88 -- PhysicalResultSink @@ -886,7 +886,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 1.0000000000000000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type91 -- PhysicalResultSink @@ -898,7 +898,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as BOOLEAN) = TRUE)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type92 -- PhysicalResultSink @@ -910,7 +910,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as BOOLEAN) = TRUE)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type93 -- PhysicalResultSink @@ -922,7 +922,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as BOOLEAN) = TRUE)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type96 -- PhysicalResultSink @@ -950,7 +950,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_largeint as DECIMALV3(38, 4)) = 1.0001)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type101 -- PhysicalResultSink @@ -962,7 +962,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as DECIMALV3(5, 4)) = 1.0001)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type102 -- PhysicalResultSink @@ -974,7 +974,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_float as DOUBLE) = 1.0001)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type103 -- PhysicalResultSink @@ -986,7 +986,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 1.0001)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type104 -- PhysicalResultSink @@ -998,7 +998,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 1.0001000000000000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type105 -- PhysicalResultSink @@ -1018,7 +1018,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 1.000100)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type108 -- PhysicalResultSink @@ -1030,7 +1030,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 1.000100)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type109 -- PhysicalResultSink @@ -1042,7 +1042,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 1.000100)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type112 -- PhysicalResultSink @@ -1070,7 +1070,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_largeint as DECIMALV3(38, 6)) = 1.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type117 -- PhysicalResultSink @@ -1082,7 +1082,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as DECIMALV3(13, 12)) = 1.000000000003)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type118 -- PhysicalResultSink @@ -1094,7 +1094,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_float as DOUBLE) = 1.000000000003)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type119 -- PhysicalResultSink @@ -1106,7 +1106,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 1.000000000003)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type120 -- PhysicalResultSink @@ -1118,7 +1118,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 1.0000000000030000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type121 -- PhysicalResultSink @@ -1138,7 +1138,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 1.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type124 -- PhysicalResultSink @@ -1150,7 +1150,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 1.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type125 -- PhysicalResultSink @@ -1162,7 +1162,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 1.000000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type128 -- PhysicalResultSink @@ -1190,7 +1190,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_largeint as DECIMALV3(38, 6)) = 12232.239827)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type133 -- PhysicalResultSink @@ -1202,7 +1202,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_bool as DECIMALV3(21, 16)) = 12232.2398272342335234)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type134 -- PhysicalResultSink @@ -1214,7 +1214,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_float as DOUBLE) = 12232.239827234234)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type135 -- PhysicalResultSink @@ -1226,7 +1226,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_double = 12232.239827234234)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type136 -- PhysicalResultSink @@ -1238,7 +1238,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_decimal = 12232.2398272342335234000)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type137 -- PhysicalResultSink @@ -1258,7 +1258,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_char as DECIMALV3(38, 6)) = 12232.239827)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type140 -- PhysicalResultSink @@ -1270,7 +1270,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_varchar as DECIMALV3(38, 6)) = 12232.239827)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type141 -- PhysicalResultSink @@ -1282,7 +1282,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((cast(d_string as DECIMALV3(38, 6)) = 12232.239827)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type144 -- PhysicalResultSink @@ -1330,7 +1330,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_date = '2024-07-01')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type154 -- PhysicalResultSink @@ -1342,7 +1342,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_datetime = '2024-07-01 00:00:00')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type155 -- PhysicalResultSink @@ -1354,7 +1354,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = '2024-07-01')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type156 -- PhysicalResultSink @@ -1366,7 +1366,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = '2024-07-01')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type157 -- PhysicalResultSink @@ -1378,7 +1378,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = '2024-07-01')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type158 -- PhysicalResultSink @@ -1394,7 +1394,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = cast('2024-07-01' as IPV6))) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type160 -- PhysicalResultSink @@ -1442,7 +1442,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_date = '2024-08-02')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type170 -- PhysicalResultSink @@ -1458,7 +1458,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = '2024-08-02 10:10:00.123332')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type172 -- PhysicalResultSink @@ -1470,7 +1470,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = '2024-08-02 10:10:00.123332')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type173 -- PhysicalResultSink @@ -1482,7 +1482,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = '2024-08-02 10:10:00.123332')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type174 -- PhysicalResultSink @@ -1498,7 +1498,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = cast('2024-08-02 10:10:00.123332' as IPV6))) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type176 -- PhysicalResultSink @@ -1546,7 +1546,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = 'abcdsadtestchar')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type188 -- PhysicalResultSink @@ -1558,7 +1558,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = 'abcdsadtestchar')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type189 -- PhysicalResultSink @@ -1570,7 +1570,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = 'abcdsadtestchar')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type190 -- PhysicalResultSink @@ -1586,7 +1586,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = cast('abcdsadtestchar' as IPV6))) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type192 -- PhysicalResultSink @@ -1634,7 +1634,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = 'dtestvarcharvarchar')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type204 -- PhysicalResultSink @@ -1646,7 +1646,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = 'dtestvarcharvarchar')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type205 -- PhysicalResultSink @@ -1658,7 +1658,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = 'dtestvarcharvarchar')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type206 -- PhysicalResultSink @@ -1674,7 +1674,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = cast('dtestvarcharvarchar' as IPV6))) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type208 -- PhysicalResultSink @@ -1722,7 +1722,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = 'longlonglongstring')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type220 -- PhysicalResultSink @@ -1734,7 +1734,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = 'longlonglongstring')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type221 -- PhysicalResultSink @@ -1746,7 +1746,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = 'longlonglongstring')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type222 -- PhysicalResultSink @@ -1762,7 +1762,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = cast('longlonglongstring' as IPV6))) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type224 -- PhysicalResultSink @@ -1810,7 +1810,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = '127.0.0.1')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type236 -- PhysicalResultSink @@ -1822,7 +1822,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = '127.0.0.1')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type237 -- PhysicalResultSink @@ -1834,7 +1834,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = '127.0.0.1')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type238 -- PhysicalResultSink @@ -1846,7 +1846,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv4 = 127.0.0.1)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type239 -- PhysicalResultSink @@ -1858,7 +1858,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = cast('127.0.0.1' as IPV6))) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type240 -- PhysicalResultSink @@ -1906,7 +1906,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_char = 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type252 -- PhysicalResultSink @@ -1918,7 +1918,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_varchar = 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type253 -- PhysicalResultSink @@ -1930,7 +1930,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_string = 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff')) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type254 -- PhysicalResultSink @@ -1946,7 +1946,7 @@ PhysicalResultSink ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject --------filter((t2.d_ipv6 = ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)) -----------PhysicalOlapScan[test_types] +----------PhysicalOlapScan[test_types(t2)] -- !const_value_and_join_column_type_res0 -- 127 diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out index a7ac6765f624d2..95bf9665727b5c 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out @@ -8,7 +8,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a < 1) and (t3.b > 'ab')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !except -- PhysicalResultSink @@ -19,7 +19,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a < 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union -- PhysicalResultSink @@ -32,7 +32,7 @@ PhysicalResultSink ----------filter((test_pull_up_predicate_set_op2.a < 1)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a < 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !intersect_one_side_constant_one_side_column -- PhysicalResultSink @@ -43,7 +43,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a = 1) and (test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a = 1) and (t3.b > 'ab')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !intersect_one_side -- PhysicalResultSink @@ -54,7 +54,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.b > 'ab')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !intersect_one_side_no_filter -- PhysicalResultSink @@ -62,7 +62,7 @@ PhysicalResultSink ----PhysicalIntersect ------PhysicalOlapScan[test_pull_up_predicate_set_op1] ------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !except_first_no_filter -- PhysicalResultSink @@ -71,7 +71,7 @@ PhysicalResultSink ------PhysicalOlapScan[test_pull_up_predicate_set_op1] ------filter((test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !except_second_no_filter -- PhysicalResultSink @@ -82,7 +82,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a > 1)) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a > 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !except_no_filter -- PhysicalResultSink @@ -90,7 +90,7 @@ PhysicalResultSink ----PhysicalExcept ------PhysicalOlapScan[test_pull_up_predicate_set_op1] ------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_different_filter -- PhysicalResultSink @@ -100,7 +100,7 @@ PhysicalResultSink --------PhysicalOlapScan[test_pull_up_predicate_set_op1] ------filter((test_pull_up_predicate_set_op2.a < 1)) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_one_side_filter -- PhysicalResultSink @@ -111,7 +111,7 @@ PhysicalResultSink ----------PhysicalOlapScan[test_pull_up_predicate_set_op1] ----------filter((test_pull_up_predicate_set_op2.a < 1)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_with_const -- PhysicalResultSink @@ -121,56 +121,56 @@ PhysicalResultSink --------PhysicalOlapScan[test_pull_up_predicate_set_op1] ------filter((test_pull_up_predicate_set_op2.a < 1)) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion ----filter(a IN (133333, 2) and b IN ('aa', 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const_tinyint_int -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion ----filter(a IN (2, 3) and b IN ('aa', 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const_empty_relation -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() ----PhysicalOneRowRelation ----filter((t3.a = 2) and (t3.b = 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const2_has_cast_to_null_different_type -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(a as DECIMALV3(38, 6)) = expr_cast(a as DECIMALV3(38, 6))) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion ----filter(b IN ('aa', 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const2_has_cast_to_null_different_type -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(a as DECIMALV3(38, 6)) = expr_cast(a as DECIMALV3(38, 6))) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion ----filter(b IN ('12', 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_different_type_int_cast_to_char -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(a as DECIMALV3(38, 6)) = expr_cast(a as DECIMALV3(38, 6))) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion ----filter(b IN ('12', 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const_char3_char2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion ----filter(a IN (2, 3, 5) and b IN ('aa', 'aab', 'dd')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_child_and_const_exprs -- PhysicalResultSink @@ -183,7 +183,7 @@ PhysicalResultSink ----------filter(a IN (1, 2)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter(a IN (1, 2)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_child_and_const_exprs_andpredicates -- PhysicalResultSink @@ -194,7 +194,7 @@ PhysicalResultSink ----------filter(a IN (1, 2) and b IN ('2d', '3')) ------------PhysicalOlapScan[test_pull_up_predicate_set_op1] ----filter(a IN (1, 2)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_child_and_const_exprs_orpredicates -- PhysicalResultSink @@ -204,7 +204,7 @@ PhysicalResultSink --------PhysicalUnion ----------filter(OR[a IN (1, 2),b IN ('2d', '3')]) ------------PhysicalOlapScan[test_pull_up_predicate_set_op1] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !intersect_one_side_constant_one_side_column_left_join -- PhysicalResultSink @@ -215,7 +215,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a = 1) and (test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a = 1) and (t3.b > 'ab')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !except_second_no_filter_left_join -- PhysicalResultSink @@ -226,7 +226,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a > 1)) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a > 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_left_join -- PhysicalResultSink @@ -239,7 +239,7 @@ PhysicalResultSink ----------filter((test_pull_up_predicate_set_op2.a < 1)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a < 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_right_join -- PhysicalResultSink @@ -251,7 +251,7 @@ PhysicalResultSink ------------PhysicalOlapScan[test_pull_up_predicate_set_op1] ----------filter((test_pull_up_predicate_set_op2.a < 1)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !intersect_one_side_constant_one_side_column_left_semi_join -- PhysicalResultSink @@ -262,7 +262,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a = 1) and (test_pull_up_predicate_set_op2.b > 'ab')) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a = 1) and (t3.b > 'ab')) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !except_second_no_filter_right_semi_join -- PhysicalResultSink @@ -273,7 +273,7 @@ PhysicalResultSink ------filter((test_pull_up_predicate_set_op2.a > 1)) --------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a > 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_left_anti_join -- PhysicalResultSink @@ -286,7 +286,7 @@ PhysicalResultSink ----------filter((test_pull_up_predicate_set_op2.a < 1)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----filter((t3.a < 1)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_right_anti_join -- PhysicalResultSink @@ -298,19 +298,19 @@ PhysicalResultSink ------------PhysicalOlapScan[test_pull_up_predicate_set_op1] ----------filter((test_pull_up_predicate_set_op2.a < 1)) ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const_full_join -- PhysicalResultSink --hashJoin[FULL_OUTER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() ----PhysicalUnion -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_all_const_tinyint_int_cross_join -- PhysicalResultSink --NestedLoopJoin[CROSS_JOIN] ----PhysicalUnion -----PhysicalOlapScan[test_pull_up_predicate_set_op3] +----PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !intersect_union -- PhysicalResultSink @@ -351,8 +351,8 @@ PhysicalResultSink ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----NestedLoopJoin[CROSS_JOIN] ------filter((t3.a < 1)) ---------PhysicalOlapScan[test_pull_up_predicate_set_op3] -------PhysicalOlapScan[test_pull_up_predicate_set_op1] +--------PhysicalOlapScan[test_pull_up_predicate_set_op3(t1)] +------PhysicalOlapScan[test_pull_up_predicate_set_op1(t2)] -- !union_inner_join -- PhysicalResultSink @@ -366,37 +366,37 @@ PhysicalResultSink ------------PhysicalOlapScan[test_pull_up_predicate_set_op2] ----hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() ------filter((t3.a < 1)) ---------PhysicalOlapScan[test_pull_up_predicate_set_op3] +--------PhysicalOlapScan[test_pull_up_predicate_set_op3(t1)] ------filter((t2.a < 1)) ---------PhysicalOlapScan[test_pull_up_predicate_set_op1] +--------PhysicalOlapScan[test_pull_up_predicate_set_op1(t2)] -- !union_all_const_datetime -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datetimev2 as DATETIMEV2(6)) = expr_cast(b as DATETIMEV2(6))) and (expr_cast(d_smallint as INT) = t.a)) otherCondition=() ----PhysicalUnion ----filter(cast(d_smallint as INT) IN (12222222, 2)) -------PhysicalOlapScan[test_pull_up_predicate_set_op4] +------PhysicalOlapScan[test_pull_up_predicate_set_op4(t3)] -- !union_all_const_date -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datev2 as DATETIMEV2(6)) = expr_cast(b as DATETIMEV2(6))) and (expr_cast(d_smallint as INT) = t.a)) otherCondition=() ----PhysicalUnion ----filter(cast(d_smallint as INT) IN (12222222, 2)) -------PhysicalOlapScan[test_pull_up_predicate_set_op4] +------PhysicalOlapScan[test_pull_up_predicate_set_op4(t3)] -- !union_all_const_char100 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as INT) = t.a) and (t3.d_char100 = t.b)) otherCondition=() ----PhysicalUnion ----filter(cast(d_smallint as INT) IN (12222222, 2) and d_char100 IN ('2024-01-03 10:00:00', '2024-01-03')) -------PhysicalOlapScan[test_pull_up_predicate_set_op4] +------PhysicalOlapScan[test_pull_up_predicate_set_op4(t3)] -- !union_all_const_char10 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t3.d_char10 = t.b)) otherCondition=() ----PhysicalUnion ----filter(d_char10 IN ('2024-01-03 10:00:00', '2024-01-04')) -------PhysicalOlapScan[test_pull_up_predicate_set_op4] +------PhysicalOlapScan[test_pull_up_predicate_set_op4(t3)] -- !union_all_and_project_pull_up -- PhysicalResultSink @@ -405,7 +405,7 @@ PhysicalResultSink ------PhysicalOlapScan[test_pull_up_predicate_set_op3] ------PhysicalOlapScan[test_pull_up_predicate_set_op3] ----filter((t3.a = 3)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t3)] -- !union_and_const -- PhysicalResultSink @@ -414,7 +414,7 @@ PhysicalResultSink ------hashAgg[LOCAL] --------PhysicalUnion ----filter(a IN (1, 2)) -------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3(t2)] -- !intersect_res -- 0 d2 diff --git a/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out b/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out index c1e1c409c72e1a..1a2c37fe9dfe7a 100644 --- a/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out +++ b/regression-test/data/nereids_rules_p0/pkfk/eliminate_inner.out @@ -33,8 +33,8 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((pkt.pk = fkt_not_null.fk)) otherCondition=() ----PhysicalOlapScan[pkt] ----hashJoin[INNER_JOIN] hashCondition=((fkt_not_null1.fk = fkt_not_null2.fk)) otherCondition=() -------PhysicalOlapScan[fkt_not_null] -------PhysicalOlapScan[fkt_not_null] +------PhysicalOlapScan[fkt_not_null(fkt_not_null1)] +------PhysicalOlapScan[fkt_not_null(fkt_not_null2)] -- !res -- 1 John 1 @@ -51,9 +51,9 @@ PhysicalResultSink ------PhysicalOlapScan[pkt] ----hashJoin[INNER_JOIN] hashCondition=((fkt_not_null1.fk = fkt_not_null2.fk)) otherCondition=() ------filter((fkt_not_null1.fk > 1)) ---------PhysicalOlapScan[fkt_not_null] +--------PhysicalOlapScan[fkt_not_null(fkt_not_null1)] ------filter((fkt_not_null2.fk > 1)) ---------PhysicalOlapScan[fkt_not_null] +--------PhysicalOlapScan[fkt_not_null(fkt_not_null2)] -- !res -- 2 Alice 2 @@ -67,7 +67,7 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((pkt.pk = fkt_not_null.fk)) otherCondition=() ----PhysicalOlapScan[pkt] ----hashAgg[GLOBAL] -------PhysicalOlapScan[fkt_not_null] +------PhysicalOlapScan[fkt_not_null(fkt_not_null1)] -- !res -- 1 1 @@ -195,8 +195,8 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((pkt.pk = fkt.fk)) otherCondition=() ----PhysicalOlapScan[pkt] ----hashJoin[INNER_JOIN] hashCondition=((fkt1.fk = fkt2.fk)) otherCondition=() -------PhysicalOlapScan[fkt] -------PhysicalOlapScan[fkt] +------PhysicalOlapScan[fkt(fkt1)] +------PhysicalOlapScan[fkt(fkt2)] -- !res -- 1 John 1 @@ -212,9 +212,9 @@ PhysicalResultSink ------PhysicalOlapScan[pkt] ----hashJoin[INNER_JOIN] hashCondition=((fkt1.fk = fkt2.fk)) otherCondition=() ------filter((fkt1.fk > 1)) ---------PhysicalOlapScan[fkt] +--------PhysicalOlapScan[fkt(fkt1)] ------filter((fkt2.fk > 1)) ---------PhysicalOlapScan[fkt] +--------PhysicalOlapScan[fkt(fkt2)] -- !res -- 2 Alice 2 @@ -227,7 +227,7 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((pkt.pk = fkt.fk)) otherCondition=() ----PhysicalOlapScan[pkt] ----hashAgg[GLOBAL] -------PhysicalOlapScan[fkt] +------PhysicalOlapScan[fkt(fkt1)] -- !res -- 1 1 @@ -328,7 +328,7 @@ PhysicalResultSink ------filter((cast(p as DECIMALV3(38, 6)) = 1.000000)) --------PhysicalOlapScan[pkt] ------PhysicalOlapScan[fkt_not_null] -----PhysicalOlapScan[fkt_not_null] +----PhysicalOlapScan[fkt_not_null(fkt_not_null2)] -- !res -- @@ -341,7 +341,7 @@ PhysicalResultSink ----filter((fkt_not_null.fk = 1)) ------PhysicalOlapScan[fkt_not_null] ----filter((fkt_not_null2.fk = 1)) -------PhysicalOlapScan[fkt_not_null] +------PhysicalOlapScan[fkt_not_null(fkt_not_null2)] -- !res -- 1 John diff --git a/regression-test/data/nereids_rules_p0/predicate_infer/infer_predicate.out b/regression-test/data/nereids_rules_p0/predicate_infer/infer_predicate.out index e0ff329e8e46d5..4a7ef22297b027 100644 --- a/regression-test/data/nereids_rules_p0/predicate_infer/infer_predicate.out +++ b/regression-test/data/nereids_rules_p0/predicate_infer/infer_predicate.out @@ -3,77 +3,77 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((t1.score > 10)) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_join_with_filter -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((t1.score > 10)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ----filter((t2.name = 'Alice')) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_left_join -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((t1.score > 20)) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_right_join -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----filter((t2.score > 20)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_full_outer_join -- PhysicalResultSink --filter(OR[(t1.name = 'Test'),(t2.name = 'Test')]) ----hashJoin[FULL_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_left_semi_join -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((t1.score > 20)) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_left_anti_join -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((t1.score > 20)) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_from_subquery -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t.id = t2.id)) otherCondition=() ----filter((t1.id = 1)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ----filter((t2.id = 1)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_multi_level_join -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t2.id = t3.id)) otherCondition=() ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] ----filter((t3.name = 'Test')) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t3)] -- !infer_predicate_join_with_project_limit -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ----filter((t2.score > 20)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_with_union -- PhysicalResultSink @@ -82,22 +82,22 @@ PhysicalResultSink ------hashAgg[LOCAL] --------PhysicalUnion ----------filter((t1.id = 1)) -------------PhysicalOlapScan[t] -----------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------------PhysicalOlapScan[t(t1)] +----------PhysicalOlapScan[t(t2)] +----PhysicalOlapScan[t(t3)] -- !infer_predicate_with_except -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t.id = t3.id)) otherCondition=() ----PhysicalExcept -------PhysicalOlapScan[t] -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] +----PhysicalOlapScan[t(t3)] -- !infer_predicate_with_subquery -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.id = t.id)) otherCondition=() -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----filter((t.score > 60)) ------PhysicalOlapScan[t] @@ -105,62 +105,62 @@ PhysicalResultSink PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=((t1.score > t2.score)) ----filter((t1.name = 'Test')) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_with_window_function -- PhysicalResultSink --PhysicalWindow ----PhysicalQuickSort[LOCAL_SORT] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] --------filter((t2.name = 'Charlie')) -----------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t2)] -- !infer_predicate_with_aggregate -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.id > 70)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] ------filter((t2.id > 70)) ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t2)] -- !infer_predicate_complex_and_or_logic -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=(OR[(t1.score > 80),AND[(t2.name = 'Dave'),(t1.id < 50)]]) ----filter(OR[(t1.score > 80),(t1.id < 50)]) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_multiple_join_filter -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id) and (t1.name = t2.name)) otherCondition=() ----filter((t1.score > 90)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] ----filter((t2.score < 60)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_join_with_not_exists -- PhysicalResultSink --hashJoin[LEFT_ANTI_JOIN] hashCondition=((t2.id = t1.id)) otherCondition=() -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----filter((t2.score > 100)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_complex_subquery -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----filter((t2.name = 'Frank') and (t2.score > 110)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_join_with_function_processed -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_length(name) = expr_length(name))) otherCondition=() ----filter((t1.score > 120)) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_nested_subqueries -- PhysicalResultSink @@ -172,49 +172,49 @@ PhysicalResultSink --filter((sum(score) > 140)) ----hashAgg[GLOBAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] -- !infer_predicate_mixed_join_types -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] ----filter((t3.score > 150)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t3)] -- !infer_predicate_join_with_distinct -- PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 160)) ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] -- !infer_predicate_join_with_case_when -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((if((score > 170), 'high', 'low') = 'high')) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_self_join -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ----filter((t1.score > 10)) -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_complex_multitable_join -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ------filter((t1.score > 20)) ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +--------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] ----filter((t3.name = 'Helen')) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t3)] -- !infer_predicate_aggregate_subquery -- PhysicalResultSink @@ -225,20 +225,20 @@ PhysicalResultSink -- !infer_predicate_join_with_function -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN](abs((cast(score as BIGINT) - cast(score as BIGINT))) < 40) -----PhysicalOlapScan[t] -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] +----PhysicalOlapScan[t(t2)] -- !infer_predicate_subquery_filter -- PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.id = t.id)) otherCondition=() -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] ----filter((t.score > 50)) ------PhysicalOlapScan[t] -- !infer_predicate_with_not_operator -- PhysicalResultSink --filter((t1.score <= 60)) -----PhysicalOlapScan[t] +----PhysicalOlapScan[t(t1)] -- !infer_predicate_complex_nested_subquery -- PhysicalResultSink @@ -254,9 +254,9 @@ PhysicalResultSink ----hashJoin[LEFT_SEMI_JOIN] hashCondition=((t2.id = t.id)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[t] -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +----------PhysicalOlapScan[t(t2)] +--------PhysicalOlapScan[t(t3)] ------filter((t.score > 100)) --------PhysicalOlapScan[t] @@ -266,17 +266,17 @@ PhysicalResultSink ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() --------filter((t1.score > 110)) -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] -------PhysicalOlapScan[t] -----PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +--------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] +----PhysicalOlapScan[t(t4)] -- !infer_predicate_multi_join_complex_subquery -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] ----filter((t.score > 130)) ------PhysicalOlapScan[t] @@ -286,9 +286,9 @@ PhysicalResultSink ----hashAgg[GLOBAL] ------hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[t] -----------PhysicalOlapScan[t] ---------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +----------PhysicalOlapScan[t(t2)] +--------PhysicalOlapScan[t(t3)] -- !infer0 -- PhysicalResultSink @@ -307,7 +307,7 @@ PhysicalResultSink ------filter((t2.id = 1)) --------PhysicalOlapScan[t2] ----filter((t3.id = 1)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t3)] -- !infer2 -- PhysicalResultSink @@ -341,7 +341,7 @@ PhysicalResultSink ------filter((t2.id = 1)) --------PhysicalOlapScan[t2] ----filter((t3.id = 1)) -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t3)] -- !infer6 -- PhysicalResultSink diff --git a/regression-test/data/nereids_rules_p0/pull_up_join_from_union/pull_up_join_from_union.out b/regression-test/data/nereids_rules_p0/pull_up_join_from_union/pull_up_join_from_union.out index 02ff79cfb17d09..75c992d9bd9e7c 100644 --- a/regression-test/data/nereids_rules_p0/pull_up_join_from_union/pull_up_join_from_union.out +++ b/regression-test/data/nereids_rules_p0/pull_up_join_from_union/pull_up_join_from_union.out @@ -3,70 +3,70 @@ PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +----PhysicalOlapScan[table_a(a)] -- !three_way_union -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -------PhysicalOlapScan[table_d] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +------PhysicalOlapScan[table_d(d)] +----PhysicalOlapScan[table_a(a)] -- !union_with_projections -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +----PhysicalOlapScan[table_a(a)] -- !union_with_constants -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +----PhysicalOlapScan[table_a(a)] -- !union_with_loss_slots -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +----PhysicalOlapScan[table_a(a)] -- !different_join_conditions -- PhysicalResultSink --PhysicalUnion ----hashJoin[INNER_JOIN] hashCondition=((a.id = b.id)) otherCondition=() -------PhysicalOlapScan[table_a] -------PhysicalOlapScan[table_b] +------PhysicalOlapScan[table_a(a)] +------PhysicalOlapScan[table_b(b)] ----hashJoin[INNER_JOIN] hashCondition=((a.name = c.name)) otherCondition=() -------PhysicalOlapScan[table_a] -------PhysicalOlapScan[table_c] +------PhysicalOlapScan[table_a(a)] +------PhysicalOlapScan[table_c(c)] -- !multi_column_join -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id) and (name = name)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +----PhysicalOlapScan[table_a(a)] -- !left_joins -- PhysicalResultSink --PhysicalUnion ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((a.id = b.id)) otherCondition=() -------PhysicalOlapScan[table_a] -------PhysicalOlapScan[table_b] +------PhysicalOlapScan[table_a(a)] +------PhysicalOlapScan[table_b(b)] ----hashJoin[LEFT_OUTER_JOIN] hashCondition=((a.id = c.id)) otherCondition=() -------PhysicalOlapScan[table_a] -------PhysicalOlapScan[table_c] +------PhysicalOlapScan[table_a(a)] +------PhysicalOlapScan[table_c(c)] -- !subquery_join -- PhysicalResultSink @@ -76,45 +76,45 @@ PhysicalResultSink --------PhysicalOlapScan[table_b] ------hashAgg[GLOBAL] --------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +----PhysicalOlapScan[table_a(a)] -- !complex_join_condition1 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((expr_(cast(id as BIGINT) - 1) = expr_cast(id as BIGINT))) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] -----PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] +----PhysicalOlapScan[table_a(a)] -- !complex_join_condition2 -- PhysicalResultSink --PhysicalUnion ----hashJoin[INNER_JOIN] hashCondition=((expr_cast(id as BIGINT) = expr_(cast(id as BIGINT) - 1))) otherCondition=() -------PhysicalOlapScan[table_a] -------PhysicalOlapScan[table_b] +------PhysicalOlapScan[table_a(a)] +------PhysicalOlapScan[table_b(b)] ----hashJoin[INNER_JOIN] hashCondition=((expr_cast(id as DOUBLE) = expr_(cast(id as DOUBLE) - 1.0))) otherCondition=() -------PhysicalOlapScan[table_a] -------PhysicalOlapScan[table_c] +------PhysicalOlapScan[table_a(a)] +------PhysicalOlapScan[table_c(c)] -- !union_filter1 -- PhysicalResultSink --NestedLoopJoin[INNER_JOIN] ----PhysicalUnion ------filter((b.id = 1)) ---------PhysicalOlapScan[table_b] +--------PhysicalOlapScan[table_b(b)] ------filter((c.id = 1)) ---------PhysicalOlapScan[table_c] +--------PhysicalOlapScan[table_c(c)] ----filter((a.id = 1)) -------PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_a(a)] -- !union_filter2 -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((id = id)) otherCondition=() ----PhysicalUnion -------PhysicalOlapScan[table_b] -------PhysicalOlapScan[table_c] +------PhysicalOlapScan[table_b(b)] +------PhysicalOlapScan[table_c(c)] ----filter((cast(value as DECIMALV3(38, 6)) = 1.000000)) -------PhysicalOlapScan[table_a] +------PhysicalOlapScan[table_a(a)] -- !basic_join_union_res -- 1 Alice Value_B1 diff --git a/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out b/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out index f205e7bbfdab66..84ac8af9287289 100644 --- a/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out +++ b/regression-test/data/nereids_rules_p0/push_down_distinct_through_join/push_down_distinct_through_join.out @@ -3,8 +3,8 @@ PhysicalResultSink --hashAgg[GLOBAL] ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +------PhysicalOlapScan[t(t1)] +------PhysicalOlapScan[t(t2)] Hint log: Used: @@ -17,9 +17,9 @@ PhysicalResultSink ----hashJoin[INNER_JOIN] hashCondition=((t1.id = t3.id)) otherCondition=() ------hashAgg[GLOBAL] --------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[t] -----------PhysicalOlapScan[t] -------PhysicalOlapScan[t] +----------PhysicalOlapScan[t(t1)] +----------PhysicalOlapScan[t(t2)] +------PhysicalOlapScan[t(t3)] Hint log: Used: use_push_down_distinct_through_join diff --git a/regression-test/data/nereids_rules_p0/push_down_filter/extract_from_disjunction_in_join.out b/regression-test/data/nereids_rules_p0/push_down_filter/extract_from_disjunction_in_join.out index 1c9c25ba337c78..a3726bd6d97034 100644 --- a/regression-test/data/nereids_rules_p0/push_down_filter/extract_from_disjunction_in_join.out +++ b/regression-test/data/nereids_rules_p0/push_down_filter/extract_from_disjunction_in_join.out @@ -3,61 +3,61 @@ PhysicalResultSink --hashJoin[LEFT_SEMI_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]]) ----filter(a IN (1, 2)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t1] +------PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] ----filter(a IN (8, 9)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !right_semi -- PhysicalResultSink --hashJoin[RIGHT_SEMI_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]]) ----filter(a IN (1, 2)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t1] +------PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] ----filter(a IN (8, 9)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !left -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]] and a IN (1, 2)) -----PhysicalOlapScan[extract_from_disjunction_in_join_t1] +----PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] ----filter(a IN (8, 9)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !right -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]] and a IN (8, 9)) ----filter(a IN (1, 2)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t1] -----PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] +----PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !left_anti -- PhysicalResultSink --hashJoin[LEFT_ANTI_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]] and a IN (1, 2)) -----PhysicalOlapScan[extract_from_disjunction_in_join_t1] +----PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] ----filter(a IN (8, 9)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !right_anti -- PhysicalResultSink --hashJoin[RIGHT_ANTI_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]] and a IN (8, 9)) ----filter(a IN (1, 2)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t1] -----PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] +----PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !inner -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]]) ----filter(a IN (1, 2)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t1] +------PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] ----filter(a IN (8, 9)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !outer -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=(OR[AND[(t2.a = 9),(t1.a = 1)],AND[(t1.a = 2),(t2.a = 8)]] and a IN (1, 2)) ----filter((t1.c = 3)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t1] +------PhysicalOlapScan[extract_from_disjunction_in_join_t1(t1)] ----filter(a IN (8, 9)) -------PhysicalOlapScan[extract_from_disjunction_in_join_t2] +------PhysicalOlapScan[extract_from_disjunction_in_join_t2(t2)] -- !left_semi_res -- 1 diff --git a/regression-test/data/nereids_rules_p0/push_down_limit_distinct/push_down_limit_distinct_through_join.out b/regression-test/data/nereids_rules_p0/push_down_limit_distinct/push_down_limit_distinct_through_join.out index 9ac0d2a4732bc7..db22dd60f56e24 100644 --- a/regression-test/data/nereids_rules_p0/push_down_limit_distinct/push_down_limit_distinct_through_join.out +++ b/regression-test/data/nereids_rules_p0/push_down_limit_distinct/push_down_limit_distinct_through_join.out @@ -8,8 +8,8 @@ PhysicalResultSink ----------PhysicalUnion ------------PhysicalLimit[LOCAL] --------------hashAgg[GLOBAL] -----------------PhysicalOlapScan[t] +----------------PhysicalOlapScan[t(t1)] ------------PhysicalLimit[LOCAL] --------------hashAgg[GLOBAL] -----------------PhysicalOlapScan[t] +----------------PhysicalOlapScan[t(t2)] diff --git a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out index c5f90edd139ce5..1d7a6c9c516a62 100644 --- a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out +++ b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_join.out @@ -9,8 +9,8 @@ PhysicalResultSink ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table_join] -------------PhysicalOlapScan[table_join] +------------------PhysicalOlapScan[table_join(t1)] +------------PhysicalOlapScan[table_join(t2)] -- !push_down_topn_through_join_data -- 0 @@ -32,7 +32,7 @@ PhysicalResultSink ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table_join] +------------------PhysicalOlapScan[table_join(t1)] ------------PhysicalStorageLayerAggregate[table_join] -- !push_down_topn_through_join_data -- diff --git a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_union.out b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_union.out index fdbc9f780efc3b..1741d085313c4c 100644 --- a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_union.out +++ b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_distinct_through_union.out @@ -9,11 +9,11 @@ PhysicalResultSink ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t2)] -- !push_down_topn_union_with_conditions -- PhysicalResultSink @@ -26,17 +26,17 @@ PhysicalResultSink --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------filter((t1.score > 10)) ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------filter((t2.name = 'Test')) ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t2)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------filter((t3.id < 5)) ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t3)] -- !push_down_topn_union_with_order_by -- PhysicalResultSink @@ -48,15 +48,15 @@ PhysicalResultSink ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t2)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t3)] -- !push_down_topn_nested_union -- PhysicalResultSink @@ -68,19 +68,19 @@ PhysicalResultSink ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t2)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t3)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t4)] -- !push_down_topn_union_after_join -- PhysicalResultSink @@ -93,12 +93,12 @@ PhysicalResultSink --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------------------PhysicalOlapScan[table2] ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t1)] +--------------------PhysicalOlapScan[table2(t2)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t3)] -- !push_down_topn_union_different_projections -- PhysicalResultSink @@ -111,12 +111,12 @@ PhysicalResultSink --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------hashAgg[LOCAL] ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------hashAgg[LOCAL] ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t2)] -- !push_down_topn_union_with_subquery -- PhysicalResultSink @@ -133,7 +133,7 @@ PhysicalResultSink ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] -------------------PhysicalOlapScan[table2] +------------------PhysicalOlapScan[table2(t2)] -- !push_down_topn_union_with_limit -- PhysicalResultSink @@ -148,14 +148,14 @@ PhysicalResultSink ------------------hashAgg[LOCAL] --------------------PhysicalLimit[GLOBAL] ----------------------PhysicalLimit[LOCAL] -------------------------PhysicalOlapScan[table2] +------------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------hashAgg[LOCAL] --------------------PhysicalLimit[GLOBAL] ----------------------PhysicalLimit[LOCAL] -------------------------PhysicalOlapScan[table2] +------------------------PhysicalOlapScan[table2(t2)] -- !push_down_topn_union_complex_conditions -- PhysicalResultSink @@ -168,10 +168,10 @@ PhysicalResultSink --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------filter((t1.name = 'Test') and (t1.score > 10)) ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t1)] ------------PhysicalTopN[MERGE_SORT] --------------PhysicalTopN[LOCAL_SORT] ----------------hashAgg[GLOBAL] ------------------filter((t2.id < 5) and (t2.score < 20)) ---------------------PhysicalOlapScan[table2] +--------------------PhysicalOlapScan[table2(t2)] diff --git a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_through_union.out b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_through_union.out index 8d743d5eb9e546..b6b3994ef8ef23 100644 --- a/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_through_union.out +++ b/regression-test/data/nereids_rules_p0/push_down_top_n/push_down_top_n_through_union.out @@ -6,10 +6,10 @@ PhysicalResultSink ------PhysicalUnion --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t2)] -- !push_down_topn_union_with_conditions -- PhysicalResultSink @@ -19,15 +19,15 @@ PhysicalResultSink --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] ------------filter((t1.score > 10)) ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] ------------filter((t2.name = 'Test')) ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t2)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] ------------filter((t3.id < 5)) ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t3)] -- !push_down_topn_union_with_order_by -- PhysicalResultSink @@ -36,13 +36,13 @@ PhysicalResultSink ------PhysicalUnion --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t2)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t3)] -- !push_down_topn_nested_union -- PhysicalResultSink @@ -51,16 +51,16 @@ PhysicalResultSink ------PhysicalUnion --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t2)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t3)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t4)] -- !push_down_topn_union_after_join -- PhysicalResultSink @@ -70,11 +70,11 @@ PhysicalResultSink --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] ------------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() ---------------PhysicalOlapScan[table1] ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t1)] +--------------PhysicalOlapScan[table1(t2)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t3)] -- !push_down_topn_union_different_projections -- PhysicalResultSink @@ -83,10 +83,10 @@ PhysicalResultSink ------PhysicalUnion --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t2)] -- !push_down_topn_union_with_subquery -- PhysicalResultSink @@ -99,7 +99,7 @@ PhysicalResultSink --------------PhysicalOlapScan[table1] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] -------------PhysicalOlapScan[table1] +------------PhysicalOlapScan[table1(t2)] -- !push_down_topn_union_with_limit -- PhysicalResultSink @@ -109,11 +109,11 @@ PhysicalResultSink --------PhysicalTopN[GATHER_SORT] ----------PhysicalLimit[GLOBAL] ------------PhysicalLimit[LOCAL] ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[GATHER_SORT] ----------PhysicalLimit[GLOBAL] ------------PhysicalLimit[LOCAL] ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t2)] -- !push_down_topn_union_complex_conditions -- PhysicalResultSink @@ -123,11 +123,11 @@ PhysicalResultSink --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] ------------filter((t1.name = 'Test') and (t1.score > 10)) ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t1)] --------PhysicalTopN[MERGE_SORT] ----------PhysicalTopN[LOCAL_SORT] ------------filter((t2.id < 5) and (t2.score < 20)) ---------------PhysicalOlapScan[table1] +--------------PhysicalOlapScan[table1(t2)] -- !union_all_push_down_top_n -- error_code=500&message=Database+connection+failed {"component":"database","severity":"critical"} 500 Database connection error 192.168.1.103 /api/v1/products 192.168.1.103 api.example.com {"app":"api-gateway","dependencies":["mysql", "redis"],"env":"production"} {"city":"Tokyo","coordinates":{"lat":35.6762,"lon":139.6503},"country":"JP"} {"Content-Type":"application/json","X-Correlation-ID":"corr_456mno"} {"region":"ap-northeast-1","server":"api-node-05"} https://app.example.com/products Mozilla/5.0 (Linux; Android 13; SM-S901B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Mobile Safari/537.36 {"source":"mobile","tags":["error", "database"]} {"context":{"attempts":3,"database":"products_db","duration_ms":5000,"error":"Connection timeout"},"level":"ERROR","message":"Failed to connect to database","timestamp":"2025-07-31T16:45:33Z"} 2025-07-31T16:45:33 diff --git a/regression-test/data/nereids_rules_p0/salt_join/salt_join.out b/regression-test/data/nereids_rules_p0/salt_join/salt_join.out index 7a8aa656ca6638..6c7dff21150166 100644 --- a/regression-test/data/nereids_rules_p0/salt_join/salt_join.out +++ b/regression-test/data/nereids_rules_p0/salt_join/salt_join.out @@ -730,8 +730,8 @@ SyntaxError: -- !equal_inner_only_null_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +----PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle]_1 @@ -741,8 +741,8 @@ SyntaxError: -- !equal_left_only_null_shape -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +----PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -752,8 +752,8 @@ SyntaxError: -- !equal_right_only_null_shape -- PhysicalResultSink --hashJoin[RIGHT_OUTER_JOIN] hashCondition=((r2$c$1 = r1$c$2) and (t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +----PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -763,11 +763,11 @@ SyntaxError: -- !equal_inner_no_null_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 = t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -777,11 +777,11 @@ SyntaxError: -- !equal_left_no_null_shape -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 = t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -794,8 +794,8 @@ PhysicalResultSink ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$4 = t1.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -805,11 +805,11 @@ SyntaxError: -- !equal_inner_other_and_null_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 = t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -819,11 +819,11 @@ SyntaxError: -- !equal_left_other_and_null_shape -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b = t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 = t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -836,8 +836,8 @@ PhysicalResultSink ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$4 = t1.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -847,11 +847,11 @@ SyntaxError: -- !null_safe_equal_inner_only_null_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b <=> t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$4 <=> t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -861,11 +861,11 @@ SyntaxError: -- !null_safe_equal_left_only_null_shape -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b <=> t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$4 <=> t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -878,8 +878,8 @@ PhysicalResultSink ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$3 <=> t1.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -889,11 +889,11 @@ SyntaxError: -- !null_safe_equal_inner_no_null_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b <=> t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 = t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -903,11 +903,11 @@ SyntaxError: -- !null_safe_equal_left_no_null_shape -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b <=> t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 = t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -920,8 +920,8 @@ PhysicalResultSink ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$4 = t1.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -931,11 +931,11 @@ SyntaxError: -- !null_safe_equal_inner_other_and_null_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b <=> t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$6 <=> t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -945,11 +945,11 @@ SyntaxError: -- !null_safe_equal_left_other_and_null_shape -- PhysicalResultSink --hashJoin[LEFT_OUTER_JOIN] hashCondition=((r1$c$1 = r2$c$2) and (t1.b <=> t2.b)) otherCondition=() -----PhysicalOlapScan[test_null_safe3] +----PhysicalOlapScan[test_null_safe3(t1)] ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$6 <=> t2.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 @@ -962,8 +962,8 @@ PhysicalResultSink ----hashJoin[RIGHT_OUTER_JOIN] hashCondition=((skewValue$c$5 <=> t1.b)) otherCondition=() ------PhysicalGenerate --------PhysicalUnion -------PhysicalOlapScan[test_null_safe3] -----PhysicalOlapScan[test_null_safe4] +------PhysicalOlapScan[test_null_safe3(t1)] +----PhysicalOlapScan[test_null_safe4(t2)] Hint log: Used: [shuffle_skew]_1 diff --git a/regression-test/data/query_p0/join/eliminate_const_join_condition.out b/regression-test/data/query_p0/join/eliminate_const_join_condition.out index 26483be2b83fd8..8464a5d9e9cd7d 100644 --- a/regression-test/data/query_p0/join/eliminate_const_join_condition.out +++ b/regression-test/data/query_p0/join/eliminate_const_join_condition.out @@ -4,9 +4,9 @@ PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[INNER_JOIN broadcast] hashCondition=((t1.v <=> t2.v)) otherCondition=() ------filter((t1.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t1] +--------PhysicalOlapScan[eliminate_cost_join_condition_t1(t1)] ------filter((t2.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t2] +--------PhysicalOlapScan[eliminate_cost_join_condition_t2(t2)] -- !null_safe_equal -- 1 \N 1 \N @@ -18,36 +18,36 @@ PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_OUTER_JOIN broadcast] hashCondition=((t1.k = t2.k) and (t1.v <=> t2.v)) otherCondition=() ------filter((t1.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t1] +--------PhysicalOlapScan[eliminate_cost_join_condition_t1(t1)] ------filter((t2.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t2] +--------PhysicalOlapScan[eliminate_cost_join_condition_t2(t2)] -- !shape_right_join -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_OUTER_JOIN broadcast] hashCondition=((t1.k = t2.k) and (t1.v <=> t2.v)) otherCondition=() ------filter((t2.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t2] +--------PhysicalOlapScan[eliminate_cost_join_condition_t2(t2)] ------filter((t1.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t1] +--------PhysicalOlapScan[eliminate_cost_join_condition_t1(t1)] -- !shape_anti_join -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((t1.k = t2.k) and (t1.v <=> t2.v)) otherCondition=() ------filter((t1.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t1] +--------PhysicalOlapScan[eliminate_cost_join_condition_t1(t1)] ------filter((t2.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t2] +--------PhysicalOlapScan[eliminate_cost_join_condition_t2(t2)] -- !shape_semi_join -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] ----hashJoin[LEFT_SEMI_JOIN broadcast] hashCondition=((t1.v <=> t2.v)) otherCondition=() ------filter((t1.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t1] +--------PhysicalOlapScan[eliminate_cost_join_condition_t1(t1)] ------filter((t2.k = 1)) ---------PhysicalOlapScan[eliminate_cost_join_condition_t2] +--------PhysicalOlapScan[eliminate_cost_join_condition_t2(t2)] -- !shape_mark_join -- PhysicalResultSink @@ -56,8 +56,8 @@ PhysicalResultSink ------filter(OR[ifnull($c$1, FALSE),(t1.k > 10)]) --------hashJoin[LEFT_SEMI_JOIN broadcast] hashCondition=((t1.k = t2.k)) otherCondition=() ----------filter((t1.k = 1)) -------------PhysicalOlapScan[eliminate_cost_join_condition_t1] +------------PhysicalOlapScan[eliminate_cost_join_condition_t1(t1)] ----------PhysicalProject ------------filter((t2.k = 1)) ---------------PhysicalOlapScan[eliminate_cost_join_condition_t2] +--------------PhysicalOlapScan[eliminate_cost_join_condition_t2(t2)] diff --git a/regression-test/data/query_p0/virtual_slot_ref/adjust_virtual_slot_nullable.out b/regression-test/data/query_p0/virtual_slot_ref/adjust_virtual_slot_nullable.out index 88f5fc54ed3f0c..ffb68feb194875 100644 --- a/regression-test/data/query_p0/virtual_slot_ref/adjust_virtual_slot_nullable.out +++ b/regression-test/data/query_p0/virtual_slot_ref/adjust_virtual_slot_nullable.out @@ -2,10 +2,10 @@ -- !left_join_shape -- PhysicalResultSink --hashJoin[INNER_JOIN] hashCondition=((t1.c_int = t2.c_int)) otherCondition=() -----PhysicalOlapScan[tbl_adjust_virtual_slot_nullable_1] +----PhysicalOlapScan[tbl_adjust_virtual_slot_nullable_1(t1)] ----PhysicalProject ------filter(OR[( not dayofmonth(c_date) IN (1, 3)),( not dayofmonth(c_date) IN (2, 3))]) ---------PhysicalOlapScan[tbl_adjust_virtual_slot_nullable_2] +--------PhysicalOlapScan[tbl_adjust_virtual_slot_nullable_2(t2)] -- !left_join_result -- 1 2020-01-01 1 2022-02-01 diff --git a/regression-test/data/shape_check/ssb_sf100/shape/flat.out b/regression-test/data/shape_check/ssb_sf100/shape/flat.out index 3a180194ef57b5..60c14689f21480 100644 --- a/regression-test/data/shape_check/ssb_sf100/shape/flat.out +++ b/regression-test/data/shape_check/ssb_sf100/shape/flat.out @@ -9,7 +9,7 @@ PhysicalResultSink ------------PhysicalProject --------------hashJoin[INNER_JOIN broadcast] hashCondition=((p.p_partkey = l.lo_partkey)) otherCondition=() build RFs:RF0 p_partkey->[lo_partkey] ----------------PhysicalOlapScan[lineorder] apply RFs: RF0 RF1 RF2 -----------------PhysicalOlapScan[part] -------------PhysicalOlapScan[customer] ---------PhysicalOlapScan[supplier] +----------------PhysicalOlapScan[part(p)] +------------PhysicalOlapScan[customer(c)] +--------PhysicalOlapScan[supplier(s)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query10.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query10.out index 5fb40519b131d5..9d8fd66f8d9faa 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query10.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query10.out @@ -25,7 +25,7 @@ PhysicalResultSink ----------------------------------------filter((date_dim.d_moy <= 4) and (date_dim.d_moy >= 1) and (date_dim.d_year = 2001)) ------------------------------------------PhysicalOlapScan[date_dim] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF5 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ------------------------------------PhysicalProject @@ -36,7 +36,7 @@ PhysicalResultSink ------------------------------PhysicalOlapScan[customer_demographics] --------------------------PhysicalProject ----------------------------filter(ca_county IN ('Cochran County', 'Kandiyohi County', 'Marquette County', 'Storey County', 'Warren County')) -------------------------------PhysicalOlapScan[customer_address] +------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((catalog_sales.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[cs_sold_date_sk] --------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query14.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query14.out index 7c1b35dac494c9..92357ad5661397 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query14.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query14.out @@ -15,10 +15,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] +--------------------------PhysicalOlapScan[item(iws)] --------------------PhysicalProject ----------------------filter((d3.d_year <= 2002) and (d3.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d3)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -29,10 +29,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] RFV2: RF19 +--------------------------PhysicalOlapScan[item(ics)] RFV2: RF19 --------------------PhysicalProject ----------------------filter((d2.d_year <= 2002) and (d2.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d2)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -43,10 +43,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[store_sales] apply RFs: RF5 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] RFV2: RF20 +--------------------------PhysicalOlapScan[item(iss)] RFV2: RF20 --------------------PhysicalProject ----------------------filter((d1.d_year <= 2002) and (d1.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] --------PhysicalProject ----------PhysicalOlapScan[item] --PhysicalCteAnchor ( cteId=CTEId#1 ) diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query16.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query16.out index 02559f87cb35c3..d4148ef0cf90ea 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query16.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query16.out @@ -18,11 +18,11 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF0 cs_order_number->[cs_order_number] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 +------------------------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF0 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF1 RF2 RF3 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[catalog_returns] +--------------------------------PhysicalOlapScan[catalog_returns(cr1)] ----------------------------PhysicalProject ------------------------------filter((date_dim.d_date <= '2002-05-31') and (date_dim.d_date >= '2002-04-01')) --------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query17.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query17.out index c10cc616923d3c..2cb1cd6ed4156e 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query17.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query17.out @@ -32,13 +32,13 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject ----------------------------------filter((d1.d_quarter_name = '2001Q1')) -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------PhysicalProject ------------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) ---------------------------------PhysicalOlapScan[date_dim] +--------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query18.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query18.out index dcda7d5d7eb3ee..7ea2466e0db3e3 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query18.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query18.out @@ -25,12 +25,12 @@ PhysicalResultSink --------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 RF1 RF5 ------------------------------------------PhysicalProject --------------------------------------------filter((cd1.cd_education_status = 'Advanced Degree') and (cd1.cd_gender = 'F')) -----------------------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------------------PhysicalOlapScan[customer_demographics(cd1)] --------------------------------------PhysicalProject ----------------------------------------filter(c_birth_month IN (1, 10, 2, 4, 7, 8)) ------------------------------------------PhysicalOlapScan[customer] apply RFs: RF3 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] ------------------------------PhysicalProject --------------------------------filter(ca_state IN ('GA', 'IN', 'ME', 'NC', 'OK', 'WA', 'WY')) ----------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query25.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query25.out index 80edfc46e41f5d..64bf6561b81485 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query25.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query25.out @@ -31,13 +31,13 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[item] ------------------------------PhysicalProject --------------------------------filter((d1.d_moy = 4) and (d1.d_year = 2000)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------PhysicalProject ----------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 2000)) -------------------------------PhysicalOlapScan[date_dim] +------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 2000)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query29.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query29.out index b09148bd528c7b..6a7e2fc732d9b6 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query29.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query29.out @@ -31,13 +31,13 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[item] ------------------------------PhysicalProject --------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1999)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------PhysicalProject ----------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1999)) -------------------------------PhysicalOlapScan[date_dim] +------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject ------------------------filter(d_year IN (1999, 2000, 2001)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query3.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query3.out index 8beaf9b74953fb..59108cbbf44ac0 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query3.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query3.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 11)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manufact_id = 816)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query35.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query35.out index c14ce7550a3069..a3be655f1306d7 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query35.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query35.out @@ -25,7 +25,7 @@ PhysicalResultSink ----------------------------------------filter((date_dim.d_qoy < 4) and (date_dim.d_year = 2001)) ------------------------------------------PhysicalOlapScan[date_dim] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] +------------------------------------PhysicalOlapScan[customer(c)] --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ------------------------------------PhysicalProject @@ -34,7 +34,7 @@ PhysicalResultSink --------------------------------------filter((date_dim.d_qoy < 4) and (date_dim.d_year = 2001)) ----------------------------------------PhysicalOlapScan[date_dim] ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[customer_address] +--------------------------------PhysicalOlapScan[customer_address(ca)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[customer_demographics] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query36.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query36.out index 5e091a8245be48..d820e4d8949dd6 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query36.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query36.out @@ -26,7 +26,7 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[item] ------------------------------------PhysicalProject --------------------------------------filter((d1.d_year = 2002)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------filter(s_state IN ('AL', 'GA', 'MI', 'MO', 'OH', 'SC', 'SD', 'TN')) ------------------------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query41.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query41.out index 27f61565b67f12..1a37dd7da92355 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query41.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 788) and (i1.i_manufact_id >= 748)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query42.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query42.out index f0c7ba1a2ee5d1..3a0e76a2f9b715 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query42.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query42.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 11) and (dt.d_year = 2002)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manager_id = 1)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query44.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query44.out index ce6d0a23f7b2e6..55817d25e51c9a 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query44.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query44.out @@ -31,7 +31,7 @@ PhysicalResultSink ------------------------------------------------hashAgg[LOCAL] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((ss1.ss_store_sk = 146)) -------------------------------------------------------PhysicalOlapScan[store_sales] +------------------------------------------------------PhysicalOlapScan[store_sales(ss1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalAssertNumRows ----------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink ------------------------------------------------hashAgg[LOCAL] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((ss1.ss_store_sk = 146)) -------------------------------------------------------PhysicalOlapScan[store_sales] +------------------------------------------------------PhysicalOlapScan[store_sales(ss1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalAssertNumRows ----------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query46.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query46.out index 26ac77a46ec8ac..96c1c9a9933627 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query46.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query46.out @@ -36,5 +36,5 @@ PhysicalResultSink ----------------PhysicalProject ------------------PhysicalOlapScan[customer] ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query49.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query49.out index 0463d58df08fcf..5444fa73c979dc 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query49.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query49.out @@ -33,10 +33,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF0 wr_order_number->[ws_order_number];RF1 wr_item_sk->[ws_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 RF1 RF2 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[web_returns] +------------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) --------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -65,10 +65,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF3 cr_order_number->[cs_order_number];RF4 cr_item_sk->[cs_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 RF4 RF5 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 RF4 RF5 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[catalog_returns] +------------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) --------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -97,10 +97,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF6 sr_ticket_number->[ss_ticket_number];RF7 sr_item_sk->[ss_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 RF7 RF8 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 RF7 RF8 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[store_returns] +------------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) --------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query50.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query50.out index 8bdf05df39ed98..e3e40cab6afe5a 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query50.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query50.out @@ -22,8 +22,8 @@ PhysicalResultSink --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------filter((d2.d_moy = 8) and (d2.d_year = 2001)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d2)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query52.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query52.out index 15a333bc25275d..77a12f26c80f0d 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query52.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query52.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 12) and (dt.d_year = 2002)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manager_id = 1)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query59.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query59.out index 5e3aac2f739c01..ed597a568ea0eb 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query59.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query59.out @@ -35,8 +35,8 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject ------------------------filter((d.d_month_seq <= 1219) and (d.d_month_seq >= 1208)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d)] --------------PhysicalProject ----------------filter((d.d_month_seq <= 1207) and (d.d_month_seq >= 1196)) -------------------PhysicalOlapScan[date_dim] +------------------PhysicalOlapScan[date_dim(d)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query6.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query6.out index 3a5d6b4d4405d6..f1b755f78ac89b 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query6.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query6.out @@ -20,17 +20,17 @@ PhysicalResultSink ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 +----------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF2 --------------------------------------PhysicalProject ----------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[customer] +--------------------------------------------PhysicalOlapScan[customer(c)] ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------------PhysicalOlapScan[customer_address(a)] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF4 +------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF4 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[item] +--------------------------------PhysicalOlapScan[item(i)] --------------------------PhysicalAssertNumRows ----------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------hashAgg[GLOBAL] @@ -43,5 +43,5 @@ PhysicalResultSink ------------------------PhysicalDistribute[DistributionSpecHash] --------------------------hashAgg[LOCAL] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[item] +------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query64.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query64.out index 80addfcc7ff5f6..4b64f5149a4211 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query64.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query64.out @@ -58,32 +58,32 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------------------------------------------PhysicalProject --------------------------------------------------------------------------PhysicalOlapScan[customer] --------------------------------------------------------------------PhysicalProject -----------------------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------------------------------------------PhysicalProject -------------------------------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------------------------------PhysicalOlapScan[date_dim(d3)] ------------------------------------------------------------PhysicalProject --------------------------------------------------------------filter(d_year IN (2001, 2002)) -----------------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------------------------------PhysicalProject ----------------------------------------------------------PhysicalOlapScan[store] ----------------------------------------------------PhysicalProject -------------------------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------------------------PhysicalProject ---------------------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------------------PhysicalOlapScan[customer_demographics(cd2)] --------------------------------------------PhysicalProject ----------------------------------------------PhysicalOlapScan[promotion] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[household_demographics] +------------------------------------------PhysicalOlapScan[household_demographics(hd1)] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[household_demographics] +--------------------------------------PhysicalOlapScan[household_demographics(hd2)] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_address] +----------------------------------PhysicalOlapScan[customer_address(ad1)] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[customer_address] +------------------------------PhysicalOlapScan[customer_address(ad2)] ------------------------PhysicalProject ---------------------------PhysicalOlapScan[income_band] +--------------------------PhysicalOlapScan[income_band(ib1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[income_band] +----------------------PhysicalOlapScan[income_band(ib2)] ----------------PhysicalProject ------------------filter((item.i_current_price <= 33.00) and (item.i_current_price >= 24.00) and i_color IN ('blanched', 'brown', 'burlywood', 'chocolate', 'drab', 'medium')) --------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query68.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query68.out index 327930cde7b3c0..3b7647471468ac 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query68.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query68.out @@ -38,5 +38,5 @@ PhysicalResultSink --------------------PhysicalProject ----------------------PhysicalLazyMaterializeOlapScan[customer lazySlots:(customer.c_first_name)] ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] +------------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query69.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query69.out index e0bbeea823735d..87b059da3cc712 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query69.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query69.out @@ -24,7 +24,7 @@ PhysicalResultSink --------------------------------------filter((date_dim.d_moy <= 3) and (date_dim.d_moy >= 1) and (date_dim.d_year = 2000)) ----------------------------------------PhysicalOlapScan[date_dim] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF5 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF5 ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ----------------------------------PhysicalProject @@ -36,7 +36,7 @@ PhysicalResultSink ------------------------------PhysicalOlapScan[customer_demographics] ------------------------PhysicalProject --------------------------filter(ca_state IN ('MI', 'TX', 'VA')) -----------------------------PhysicalOlapScan[customer_address] +----------------------------PhysicalOlapScan[customer_address(ca)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((catalog_sales.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[cs_sold_date_sk] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query70.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query70.out index 9c9d7b7638d6a5..fcebb167c2cbf5 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query70.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1224) and (d1.d_month_seq >= 1213)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[RIGHT_SEMI_JOIN bucketShuffle] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() ----------------------------------PhysicalProject ------------------------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query72.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query72.out index 3a93e8ed707328..dd5198cb2d7f3e 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query72.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query72.out @@ -42,13 +42,13 @@ PhysicalResultSink ------------------------------------filter((customer_demographics.cd_marital_status = 'W')) --------------------------------------PhysicalOlapScan[customer_demographics] ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[date_dim] apply RFs: RF7 +--------------------------------PhysicalOlapScan[date_dim(d2)] apply RFs: RF7 --------------------------PhysicalProject -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] ----------------------PhysicalProject ------------------------filter((household_demographics.hd_buy_potential = '501-1000')) --------------------------PhysicalOlapScan[household_demographics] ------------------PhysicalProject --------------------filter((d1.d_year = 2002)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d1)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query85.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query85.out index 63fc92a6f489d9..6a28590bf1ed62 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query85.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query85.out @@ -31,10 +31,10 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[web_page] ------------------------------------PhysicalProject --------------------------------------filter(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'Secondary')],AND[(cd1.cd_marital_status = 'W'),(cd1.cd_education_status = 'Advanced Degree')]] and cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) -----------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF5 RF6 +----------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF5 RF6 --------------------------------PhysicalProject ----------------------------------filter(cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) -------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] ----------------------------PhysicalProject ------------------------------filter((customer_address.ca_country = 'United States') and ca_state IN ('DE', 'FL', 'ID', 'IL', 'IN', 'MT', 'ND', 'OH', 'TX')) --------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query86.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query86.out index 2cb80b5a081379..bddfa4a3fb0c02 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query86.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query86.out @@ -24,5 +24,5 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject ----------------------------------filter((d1.d_month_seq <= 1235) and (d1.d_month_seq >= 1224)) -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d1)] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query94.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query94.out index d26128a78f3b6a..0136beaa55a567 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query94.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query94.out @@ -18,11 +18,11 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 +------------------------------------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF0 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF1 RF2 RF3 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[web_returns] +--------------------------------PhysicalOlapScan[web_returns(wr1)] ----------------------------PhysicalProject ------------------------------filter((date_dim.d_date <= '2000-04-01') and (date_dim.d_date >= '2000-02-01')) --------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query95.out b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query95.out index 4435e9fb23dcd5..14616a0e2fcac3 100644 --- a/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query95.out +++ b/regression-test/data/shape_check/tpcds_sf100/noStatsRfPrune/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF7 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF7 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF7 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF7 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[web_returns] apply RFs: RF2 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 RF5 RF6 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF4 RF5 RF6 ------------------------------PhysicalProject --------------------------------filter((date_dim.d_date <= '1999-04-02') and (date_dim.d_date >= '1999-02-01')) ----------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query10.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query10.out index 4fdff8b37961c5..d26279eb8a9ebd 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query10.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query10.out @@ -25,7 +25,7 @@ PhysicalResultSink ----------------------------------------filter((date_dim.d_moy <= 4) and (date_dim.d_moy >= 1) and (date_dim.d_year = 2001)) ------------------------------------------PhysicalOlapScan[date_dim] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF4 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 RF5 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ------------------------------------PhysicalProject @@ -36,7 +36,7 @@ PhysicalResultSink ------------------------------PhysicalOlapScan[customer_demographics] --------------------------PhysicalProject ----------------------------filter(ca_county IN ('Cochran County', 'Kandiyohi County', 'Marquette County', 'Storey County', 'Warren County')) -------------------------------PhysicalOlapScan[customer_address] +------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((catalog_sales.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[cs_sold_date_sk] --------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query14.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query14.out index 73e601116ecc3a..1d3f313010e823 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query14.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query14.out @@ -15,10 +15,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] apply RFs: RF6 RF7 RF8 +--------------------------PhysicalOlapScan[item(iws)] apply RFs: RF6 RF7 RF8 --------------------PhysicalProject ----------------------filter((d3.d_year <= 2002) and (d3.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d3)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -29,10 +29,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] apply RFs: RF6 RF7 RF8 RFV2: RF19 +--------------------------PhysicalOlapScan[item(ics)] apply RFs: RF6 RF7 RF8 RFV2: RF19 --------------------PhysicalProject ----------------------filter((d2.d_year <= 2002) and (d2.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d2)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -43,10 +43,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[store_sales] apply RFs: RF4 RF5 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] apply RFs: RF6 RF7 RF8 RFV2: RF20 +--------------------------PhysicalOlapScan[item(iss)] apply RFs: RF6 RF7 RF8 RFV2: RF20 --------------------PhysicalProject ----------------------filter((d1.d_year <= 2002) and (d1.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] --------PhysicalProject ----------PhysicalOlapScan[item] --PhysicalCteAnchor ( cteId=CTEId#1 ) diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query16.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query16.out index 02559f87cb35c3..d4148ef0cf90ea 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query16.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query16.out @@ -18,11 +18,11 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF0 cs_order_number->[cs_order_number] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 +------------------------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF0 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF1 RF2 RF3 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[catalog_returns] +--------------------------------PhysicalOlapScan[catalog_returns(cr1)] ----------------------------PhysicalProject ------------------------------filter((date_dim.d_date <= '2002-05-31') and (date_dim.d_date >= '2002-04-01')) --------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query17.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query17.out index 52da90d84ff3a8..c599c71404d484 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query17.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query17.out @@ -32,13 +32,13 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject ----------------------------------filter((d1.d_quarter_name = '2001Q1')) -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------PhysicalProject ------------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) ---------------------------------PhysicalOlapScan[date_dim] +--------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query18.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query18.out index 22f67b07a4698c..162fe9033d9d5e 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query18.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query18.out @@ -25,12 +25,12 @@ PhysicalResultSink --------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 RF1 RF4 RF5 ------------------------------------------PhysicalProject --------------------------------------------filter((cd1.cd_education_status = 'Advanced Degree') and (cd1.cd_gender = 'F')) -----------------------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------------------PhysicalOlapScan[customer_demographics(cd1)] --------------------------------------PhysicalProject ----------------------------------------filter(c_birth_month IN (1, 10, 2, 4, 7, 8)) ------------------------------------------PhysicalOlapScan[customer] apply RFs: RF2 RF3 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] ------------------------------PhysicalProject --------------------------------filter(ca_state IN ('GA', 'IN', 'ME', 'NC', 'OK', 'WA', 'WY')) ----------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query25.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query25.out index 10bab76c77b7f3..0b34b0af789834 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query25.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query25.out @@ -31,13 +31,13 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[item] ------------------------------PhysicalProject --------------------------------filter((d1.d_moy = 4) and (d1.d_year = 2000)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------PhysicalProject ----------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 2000)) -------------------------------PhysicalOlapScan[date_dim] +------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 2000)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query29.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query29.out index 6d0d5cb82d5160..644e9640820dc6 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query29.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query29.out @@ -31,13 +31,13 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[item] ------------------------------PhysicalProject --------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1999)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------PhysicalProject ----------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1999)) -------------------------------PhysicalOlapScan[date_dim] +------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject ------------------------filter(d_year IN (1999, 2000, 2001)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query3.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query3.out index 8beaf9b74953fb..59108cbbf44ac0 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query3.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query3.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 11)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manufact_id = 816)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query35.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query35.out index b414e22cb15150..80d83176e3f98d 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query35.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query35.out @@ -25,7 +25,7 @@ PhysicalResultSink ----------------------------------------filter((date_dim.d_qoy < 4) and (date_dim.d_year = 2001)) ------------------------------------------PhysicalOlapScan[date_dim] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF4 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 RF5 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ------------------------------------PhysicalProject @@ -34,7 +34,7 @@ PhysicalResultSink --------------------------------------filter((date_dim.d_qoy < 4) and (date_dim.d_year = 2001)) ----------------------------------------PhysicalOlapScan[date_dim] ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[customer_address] +--------------------------------PhysicalOlapScan[customer_address(ca)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[customer_demographics] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query36.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query36.out index 08593e2e439b92..169a5294c1db97 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query36.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query36.out @@ -26,7 +26,7 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[item] ------------------------------------PhysicalProject --------------------------------------filter((d1.d_year = 2002)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------filter(s_state IN ('AL', 'GA', 'MI', 'MO', 'OH', 'SC', 'SD', 'TN')) ------------------------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query41.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query41.out index 27f61565b67f12..1a37dd7da92355 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query41.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 788) and (i1.i_manufact_id >= 748)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query42.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query42.out index f0c7ba1a2ee5d1..3a0e76a2f9b715 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query42.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query42.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 11) and (dt.d_year = 2002)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manager_id = 1)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query44.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query44.out index ce6d0a23f7b2e6..55817d25e51c9a 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query44.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query44.out @@ -31,7 +31,7 @@ PhysicalResultSink ------------------------------------------------hashAgg[LOCAL] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((ss1.ss_store_sk = 146)) -------------------------------------------------------PhysicalOlapScan[store_sales] +------------------------------------------------------PhysicalOlapScan[store_sales(ss1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalAssertNumRows ----------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink ------------------------------------------------hashAgg[LOCAL] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((ss1.ss_store_sk = 146)) -------------------------------------------------------PhysicalOlapScan[store_sales] +------------------------------------------------------PhysicalOlapScan[store_sales(ss1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalAssertNumRows ----------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query46.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query46.out index 73faa771d22a1b..be32832b58c6b5 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query46.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query46.out @@ -36,5 +36,5 @@ PhysicalResultSink ----------------PhysicalProject ------------------PhysicalOlapScan[customer] apply RFs: RF5 ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query49.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query49.out index 0463d58df08fcf..5444fa73c979dc 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query49.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query49.out @@ -33,10 +33,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF0 wr_order_number->[ws_order_number];RF1 wr_item_sk->[ws_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 RF1 RF2 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[web_returns] +------------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) --------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -65,10 +65,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF3 cr_order_number->[cs_order_number];RF4 cr_item_sk->[cs_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 RF4 RF5 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 RF4 RF5 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[catalog_returns] +------------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) --------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -97,10 +97,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF6 sr_ticket_number->[ss_ticket_number];RF7 sr_item_sk->[ss_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 RF7 RF8 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 RF7 RF8 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[store_returns] +------------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) --------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query50.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query50.out index e7941ce875f02f..28bcc4770780da 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query50.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query50.out @@ -22,8 +22,8 @@ PhysicalResultSink --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------filter((d2.d_moy = 8) and (d2.d_year = 2001)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d2)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query52.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query52.out index 15a333bc25275d..77a12f26c80f0d 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query52.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query52.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 12) and (dt.d_year = 2002)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manager_id = 1)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query59.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query59.out index f4de54b576470a..3b44092028b2d4 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query59.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query59.out @@ -35,8 +35,8 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject ------------------------filter((d.d_month_seq <= 1219) and (d.d_month_seq >= 1208)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d)] --------------PhysicalProject ----------------filter((d.d_month_seq <= 1207) and (d.d_month_seq >= 1196)) -------------------PhysicalOlapScan[date_dim] +------------------PhysicalOlapScan[date_dim(d)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query6.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query6.out index 538ad1a80e2901..cfe7b629f40a00 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query6.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query6.out @@ -20,17 +20,17 @@ PhysicalResultSink ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF1 c_customer_sk->[ss_customer_sk] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 +----------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF1 RF2 RF3 --------------------------------------PhysicalProject ----------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF0 ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------------PhysicalOlapScan[customer_address(a)] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF4 +------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF4 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[item] apply RFs: RF5 +--------------------------------PhysicalOlapScan[item(i)] apply RFs: RF5 --------------------------PhysicalAssertNumRows ----------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------hashAgg[GLOBAL] @@ -43,5 +43,5 @@ PhysicalResultSink ------------------------PhysicalDistribute[DistributionSpecHash] --------------------------hashAgg[LOCAL] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[item] +------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query64.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query64.out index 634b564c010c97..440f2f8cdc56f6 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query64.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query64.out @@ -58,32 +58,32 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------------------------------------------PhysicalProject --------------------------------------------------------------------------PhysicalOlapScan[customer] apply RFs: RF6 RF7 RF11 RF14 RF16 --------------------------------------------------------------------PhysicalProject -----------------------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------------------------------------------PhysicalProject -------------------------------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------------------------------PhysicalOlapScan[date_dim(d3)] ------------------------------------------------------------PhysicalProject --------------------------------------------------------------filter(d_year IN (2001, 2002)) -----------------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------------------------------PhysicalProject ----------------------------------------------------------PhysicalOlapScan[store] ----------------------------------------------------PhysicalProject -------------------------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------------------------PhysicalProject ---------------------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------------------PhysicalOlapScan[customer_demographics(cd2)] --------------------------------------------PhysicalProject ----------------------------------------------PhysicalOlapScan[promotion] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF17 +------------------------------------------PhysicalOlapScan[household_demographics(hd1)] apply RFs: RF17 ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF18 +--------------------------------------PhysicalOlapScan[household_demographics(hd2)] apply RFs: RF18 --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_address] +----------------------------------PhysicalOlapScan[customer_address(ad1)] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[customer_address] +------------------------------PhysicalOlapScan[customer_address(ad2)] ------------------------PhysicalProject ---------------------------PhysicalOlapScan[income_band] +--------------------------PhysicalOlapScan[income_band(ib1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[income_band] +----------------------PhysicalOlapScan[income_band(ib2)] ----------------PhysicalProject ------------------filter((item.i_current_price <= 33.00) and (item.i_current_price >= 24.00) and i_color IN ('blanched', 'brown', 'burlywood', 'chocolate', 'drab', 'medium')) --------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query68.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query68.out index 3e4c771ecc20c6..11909898553eb0 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query68.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query68.out @@ -38,5 +38,5 @@ PhysicalResultSink --------------------PhysicalProject ----------------------PhysicalLazyMaterializeOlapScan[customer lazySlots:(customer.c_first_name)] apply RFs: RF5 ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] +------------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query69.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query69.out index af6d7e8c85a5f6..27b37a02c840b8 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query69.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query69.out @@ -24,7 +24,7 @@ PhysicalResultSink --------------------------------------filter((date_dim.d_moy <= 3) and (date_dim.d_moy >= 1) and (date_dim.d_year = 2000)) ----------------------------------------PhysicalOlapScan[date_dim] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF4 RF5 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 RF5 ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ----------------------------------PhysicalProject @@ -36,7 +36,7 @@ PhysicalResultSink ------------------------------PhysicalOlapScan[customer_demographics] ------------------------PhysicalProject --------------------------filter(ca_state IN ('MI', 'TX', 'VA')) -----------------------------PhysicalOlapScan[customer_address] +----------------------------PhysicalOlapScan[customer_address(ca)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((catalog_sales.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[cs_sold_date_sk] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query70.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query70.out index 866c026a90dd67..d2f40ca65ce3d9 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query70.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1224) and (d1.d_month_seq >= 1213)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[RIGHT_SEMI_JOIN bucketShuffle] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() build RFs:RF2 s_state->[s_state] ----------------------------------PhysicalProject ------------------------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query72.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query72.out index fd5f3db15c5786..74e055d94e8fce 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query72.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query72.out @@ -42,13 +42,13 @@ PhysicalResultSink ------------------------------------filter((customer_demographics.cd_marital_status = 'W')) --------------------------------------PhysicalOlapScan[customer_demographics] ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[date_dim] apply RFs: RF7 +--------------------------------PhysicalOlapScan[date_dim(d2)] apply RFs: RF7 --------------------------PhysicalProject -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] ----------------------PhysicalProject ------------------------filter((household_demographics.hd_buy_potential = '501-1000')) --------------------------PhysicalOlapScan[household_demographics] ------------------PhysicalProject --------------------filter((d1.d_year = 2002)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d1)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query85.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query85.out index 62c4b147f59a22..fde67057518869 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query85.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query85.out @@ -31,10 +31,10 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[web_page] ------------------------------------PhysicalProject --------------------------------------filter(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'Secondary')],AND[(cd1.cd_marital_status = 'W'),(cd1.cd_education_status = 'Advanced Degree')]] and cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) -----------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF5 RF6 +----------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF5 RF6 --------------------------------PhysicalProject ----------------------------------filter(cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) -------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] ----------------------------PhysicalProject ------------------------------filter((customer_address.ca_country = 'United States') and ca_state IN ('DE', 'FL', 'ID', 'IL', 'IN', 'MT', 'ND', 'OH', 'TX')) --------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query86.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query86.out index 13c2b5c88bc677..843e13ba805a60 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query86.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query86.out @@ -24,5 +24,5 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject ----------------------------------filter((d1.d_month_seq <= 1235) and (d1.d_month_seq >= 1224)) -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d1)] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query94.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query94.out index d26128a78f3b6a..0136beaa55a567 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query94.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query94.out @@ -18,11 +18,11 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 +------------------------------------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF0 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF1 RF2 RF3 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[web_returns] +--------------------------------PhysicalOlapScan[web_returns(wr1)] ----------------------------PhysicalProject ------------------------------filter((date_dim.d_date <= '2000-04-01') and (date_dim.d_date >= '2000-02-01')) --------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query95.out b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query95.out index 253f14febe60d7..e4a9fb53beac46 100644 --- a/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query95.out +++ b/regression-test/data/shape_check/tpcds_sf100/no_stats_shape/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number];RF1 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF14 RF15 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF14 RF15 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF14 RF15 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF14 RF15 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[web_returns] apply RFs: RF4 RF5 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF8 RF9 RF10 RF11 RF12 RF13 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF8 RF9 RF10 RF11 RF12 RF13 ------------------------------PhysicalProject --------------------------------filter((date_dim.d_date <= '1999-04-02') and (date_dim.d_date >= '1999-02-01')) ----------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query10.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query10.out index 4dfc2de4cf3fe5..d5e5d3e9ef04e7 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query10.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query10.out @@ -40,8 +40,8 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF0 ----------------------------------PhysicalProject ------------------------------------filter(ca_county IN ('Cochran County', 'Kandiyohi County', 'Marquette County', 'Storey County', 'Warren County')) ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ca)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query14.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query14.out index 32fdf4de9c30f8..2295b9a8a9d891 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query14.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query14.out @@ -18,9 +18,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 ------------------------PhysicalProject --------------------------filter((d1.d_year <= 2002) and (d1.d_year >= 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] +----------------------PhysicalOlapScan[item(iss)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -32,9 +32,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 ------------------------PhysicalProject --------------------------filter((d2.d_year <= 2002) and (d2.d_year >= 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d2)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF19 +----------------------PhysicalOlapScan[item(ics)] RFV2: RF19 ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -46,9 +46,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 ------------------------PhysicalProject --------------------------filter((d3.d_year <= 2002) and (d3.d_year >= 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF20 +----------------------PhysicalOlapScan[item(iws)] RFV2: RF20 --PhysicalCteAnchor ( cteId=CTEId#1 ) ----PhysicalCteProducer ( cteId=CTEId#1 ) ------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query16.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query16.out index b1b5037f23d714..4b3bbb95139e6e 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query16.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query16.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF3 cs_order_number->[cs_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 +----------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF3 --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_call_center_sk = call_center.cc_call_center_sk)) otherCondition=() build RFs:RF2 cc_call_center_sk->[cs_call_center_sk] ------------------------PhysicalProject @@ -20,9 +20,9 @@ PhysicalResultSink ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[cs_ship_addr_sk] --------------------------------hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((cs1.cs_order_number = cr1.cr_order_number)) otherCondition=() ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_returns] +------------------------------------PhysicalOlapScan[catalog_returns(cr1)] --------------------------------PhysicalProject ----------------------------------filter((customer_address.ca_state = 'WV')) ------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query17.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query17.out index 5342955a97aae2..9d260c97301ca3 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query17.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query17.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() ------------------------PhysicalProject @@ -29,14 +29,14 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_quarter_name = '2001Q1')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ------------------------------------PhysicalProject --------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 ------------------------------------PhysicalProject --------------------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------PhysicalProject ------------------------------PhysicalOlapScan[item] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query18.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query18.out index cc7308bfd957b8..178c86ab50e025 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query18.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query18.out @@ -23,11 +23,11 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 RF4 ----------------------------------PhysicalProject ------------------------------------filter((cd1.cd_education_status = 'Advanced Degree') and (cd1.cd_gender = 'F')) ---------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_cdemo_sk = cd2.cd_demo_sk)) otherCondition=() build RFs:RF1 c_current_cdemo_sk->[cd_demo_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF1 +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF1 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer.c_current_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query25.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query25.out index f4a203e70a0ca2..477eca331245ca 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query25.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query25.out @@ -15,7 +15,7 @@ PhysicalResultSink ------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 2000)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() ----------------------PhysicalProject @@ -28,14 +28,14 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 ----------------------------------PhysicalProject ------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 2000)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 ----------------------------------PhysicalProject ------------------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 2000)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[item] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query29.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query29.out index 7fa2a8b96626a7..850049c8ff7bf2 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query29.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query29.out @@ -25,19 +25,19 @@ PhysicalResultSink ----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 --------------------------------------PhysicalProject ----------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1999)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 --------------------------------------PhysicalProject ----------------------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1999)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------------PhysicalProject --------------------------------PhysicalOlapScan[item] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ------------------PhysicalProject --------------------filter(d_year IN (1999, 2000, 2001)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d3)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query3.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query3.out index 4092c73d09fd5b..e9c6ec79c33e7b 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query3.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query3.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query35.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query35.out index dea7b62c38003d..1e39cd24a4789b 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query35.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query35.out @@ -18,9 +18,9 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF5 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_address] +------------------------------------PhysicalOlapScan[customer_address(ca)] ------------------------------PhysicalProject --------------------------------PhysicalOlapScan[customer_demographics] --------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query36.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query36.out index 78618ea60dfcc0..2920c769191a85 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query36.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query36.out @@ -24,7 +24,7 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF2 ----------------------------------------PhysicalProject ------------------------------------------filter((d1.d_year = 2002)) ---------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------------PhysicalProject --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query41.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query41.out index 27f61565b67f12..1a37dd7da92355 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query41.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 788) and (i1.i_manufact_id >= 748)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query42.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query42.out index 5919f208ddfefb..b2a262da46536b 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query42.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query42.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11) and (dt.d_year = 2002)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query44.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query44.out index 0bac032032ce42..5c55cff87e3832 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query44.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query44.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 146)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 146)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query46.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query46.out index 2b48783b05a5a4..0afa0645209e31 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query46.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query46.out @@ -34,5 +34,5 @@ PhysicalResultSink ----------------PhysicalProject ------------------PhysicalOlapScan[customer] ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query49.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query49.out index b13ecb58ccc887..423e1cf346f6dd 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query49.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query49.out @@ -31,12 +31,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF1 ws_order_number->[wr_order_number];RF2 ws_item_sk->[wr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[web_returns] apply RFs: RF1 RF2 +--------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] apply RFs: RF1 RF2 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -63,12 +63,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF4 cs_order_number->[cr_order_number];RF5 cs_item_sk->[cr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF4 RF5 +--------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] apply RFs: RF4 RF5 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF3 d_date_sk->[cs_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -95,12 +95,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF7 ss_ticket_number->[sr_ticket_number];RF8 ss_item_sk->[sr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF7 RF8 +--------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] apply RFs: RF7 RF8 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((sts.ss_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF6 d_date_sk->[ss_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query50.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query50.out index 2f0a1b10cbff1b..0b39425d1b40d8 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query50.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query50.out @@ -21,9 +21,9 @@ PhysicalResultSink --------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 ------------------------------PhysicalProject --------------------------------filter((d2.d_moy = 8) and (d2.d_year = 2001)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query52.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query52.out index 1eff8fc3ba89c1..ddcc09c49f974a 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query52.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query52.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 12) and (dt.d_year = 2002)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out index 2baf35086b9724..999c2ed8ee13fb 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query59.out @@ -27,7 +27,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalOlapScan[store] apply RFs: RF5 ------------------PhysicalProject --------------------filter((d.d_month_seq <= 1207) and (d.d_month_seq >= 1196)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d)] --------------PhysicalProject ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = d_week_seq2)) otherCondition=() build RFs:RF2 d_week_seq->[d_week_seq] ------------------PhysicalProject @@ -38,5 +38,5 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalOlapScan[store] ------------------PhysicalProject --------------------filter((d.d_month_seq <= 1219) and (d.d_month_seq >= 1208)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query6.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query6.out index 0e5441712726f9..a8480f05e068a5 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query6.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query6.out @@ -12,21 +12,21 @@ PhysicalResultSink ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------------PhysicalProject -------------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------------PhysicalOlapScan[customer_address(a)] apply RFs: RF5 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------------PhysicalProject -----------------------------PhysicalOlapScan[customer] apply RFs: RF4 +----------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 --------------------------PhysicalProject ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_item_sk = i.i_item_sk)) otherCondition=() build RFs:RF3 i_item_sk->[ss_item_sk] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_sold_date_sk = d.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ss_sold_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 +------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF2 RF3 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_month_seq = date_dim.d_month_seq)) otherCondition=() build RFs:RF1 d_month_seq->[d_month_seq] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF1 +----------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF1 --------------------------------------PhysicalAssertNumRows ----------------------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------------------hashAgg[GLOBAL] @@ -38,10 +38,10 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((j.i_category = i.i_category)) otherCondition=((cast(i_current_price as DECIMALV3(38, 5)) > (1.2 * avg(j.i_current_price)))) ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[item] +------------------------------------PhysicalOlapScan[item(i)] ----------------------------------hashAgg[GLOBAL] ------------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------------hashAgg[LOCAL] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[item] +------------------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query64.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query64.out index e253bb99af68a0..1c68a5089d11d0 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query64.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query64.out @@ -23,13 +23,13 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------PhysicalProject --------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((hd2.hd_income_band_sk = ib2.ib_income_band_sk)) otherCondition=() ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[household_demographics] +------------------------------------------PhysicalOlapScan[household_demographics(hd2)] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[income_band] +------------------------------------------PhysicalOlapScan[income_band(ib2)] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------PhysicalOlapScan[customer_demographics(cd2)] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[customer_address] +------------------------------PhysicalOlapScan[customer_address(ad2)] ------------------------PhysicalProject --------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and (store_sales.ss_ticket_number = store_returns.sr_ticket_number)) otherCondition=() build RFs:RF11 ss_item_sk->[sr_item_sk];RF12 ss_ticket_number->[sr_ticket_number] ----------------------------PhysicalProject @@ -37,11 +37,11 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((store_sales.ss_addr_sk = ad1.ca_address_sk)) otherCondition=() build RFs:RF10 ss_addr_sk->[ca_address_sk] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_address] apply RFs: RF10 +----------------------------------PhysicalOlapScan[customer_address(ad1)] apply RFs: RF10 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((store_sales.ss_cdemo_sk = cd1.cd_demo_sk)) otherCondition=() build RFs:RF9 ss_cdemo_sk->[cd_demo_sk] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF9 +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF9 ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_sales.ss_item_sk = item.i_item_sk)) otherCondition=() build RFs:RF8 i_item_sk->[cr_item_sk,cs_item_sk,ss_item_sk] --------------------------------------PhysicalProject ----------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_sales.ss_promo_sk = promotion.p_promo_sk)) otherCondition=() @@ -59,7 +59,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ----------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 RF8 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter(d_year IN (2001, 2002)) -------------------------------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((sale > (2 * refund))) --------------------------------------------------------------hashAgg[GLOBAL] @@ -72,9 +72,9 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------------------------------------------PhysicalProject --------------------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF8 ------------------------------------------------------PhysicalProject ---------------------------------------------------------PhysicalOlapScan[household_demographics] +--------------------------------------------------------PhysicalOlapScan[household_demographics(hd1)] --------------------------------------------------PhysicalProject -----------------------------------------------------PhysicalOlapScan[income_band] +----------------------------------------------------PhysicalOlapScan[income_band(ib1)] ----------------------------------------------PhysicalProject ------------------------------------------------PhysicalOlapScan[store] ------------------------------------------PhysicalProject @@ -83,9 +83,9 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ----------------------------------------filter((item.i_current_price <= 33.00) and (item.i_current_price >= 24.00) and i_color IN ('blanched', 'brown', 'burlywood', 'chocolate', 'drab', 'medium')) ------------------------------------------PhysicalOlapScan[item] --------------------PhysicalProject -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d2)] ----------------PhysicalProject -------------------PhysicalOlapScan[date_dim] +------------------PhysicalOlapScan[date_dim(d3)] --PhysicalResultSink ----PhysicalQuickSort[MERGE_SORT] ------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query68.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query68.out index 8edc384cd49a83..04c6bb6e8b04b2 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query68.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query68.out @@ -9,7 +9,7 @@ PhysicalResultSink ------------PhysicalProject --------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_addr_sk = current_addr.ca_address_sk)) otherCondition=(( not (ca_city = bought_city))) build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------PhysicalOlapScan[customer_address(current_addr)] apply RFs: RF5 ----------------PhysicalProject ------------------hashJoin[INNER_JOIN broadcast] hashCondition=((dn.ss_customer_sk = customer.c_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query69.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query69.out index a68ff0c1138094..6e04a1e80acc91 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query69.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query69.out @@ -33,7 +33,7 @@ PhysicalResultSink ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[c_current_addr_sk] ------------------------------hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((c.c_customer_sk = web_sales.ws_bill_customer_sk)) otherCondition=() --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF1 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF1 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] ------------------------------------PhysicalProject @@ -43,5 +43,5 @@ PhysicalResultSink ----------------------------------------PhysicalOlapScan[date_dim] ------------------------------PhysicalProject --------------------------------filter(ca_state IN ('MI', 'TX', 'VA')) -----------------------------------PhysicalOlapScan[customer_address] +----------------------------------PhysicalOlapScan[customer_address(ca)] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query70.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query70.out index ae5b26647980e7..fa21ba9c31ae25 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query70.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1224) and (d1.d_month_seq >= 1213)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[LEFT_SEMI_JOIN broadcast] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() build RFs:RF2 s_state->[s_state] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store] apply RFs: RF2 diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query72.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query72.out index a052b1ac62fd13..6b1d29b746cb0e 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query72.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query72.out @@ -35,16 +35,16 @@ PhysicalResultSink ----------------------------------------------------------PhysicalOlapScan[household_demographics] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((d1.d_year = 2002)) -------------------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------------------PhysicalProject ------------------------------------------------filter((customer_demographics.cd_marital_status = 'W')) --------------------------------------------------PhysicalOlapScan[customer_demographics] ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------PhysicalOlapScan[date_dim(d3)] --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[item] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[warehouse] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query85.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query85.out index 143dae01fa79a2..1d6abeb68b47cc 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query85.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query85.out @@ -16,12 +16,12 @@ PhysicalResultSink --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cd1.cd_education_status = cd2.cd_education_status) and (cd1.cd_marital_status = cd2.cd_marital_status) and (cd2.cd_demo_sk = web_returns.wr_returning_cdemo_sk)) otherCondition=() build RFs:RF5 wr_returning_cdemo_sk->[cd_demo_sk];RF6 cd_marital_status->[cd_marital_status];RF7 cd_education_status->[cd_education_status] ----------------------------PhysicalProject ------------------------------filter(cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) ---------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF5 RF6 RF7 +--------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF5 RF6 RF7 ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cd1.cd_demo_sk = web_returns.wr_refunded_cdemo_sk)) otherCondition=(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree'),(web_sales.ws_sales_price >= 100.00),(web_sales.ws_sales_price <= 150.00)],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'Secondary'),(web_sales.ws_sales_price <= 100.00)],AND[(cd1.cd_marital_status = 'W'),(cd1.cd_education_status = 'Advanced Degree'),(web_sales.ws_sales_price >= 150.00)]]) build RFs:RF4 wr_refunded_cdemo_sk->[cd_demo_sk] --------------------------------PhysicalProject ----------------------------------filter(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'Secondary')],AND[(cd1.cd_marital_status = 'W'),(cd1.cd_education_status = 'Advanced Degree')]] and cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) -------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF4 +------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF4 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = web_returns.wr_refunded_addr_sk)) otherCondition=(OR[AND[ca_state IN ('DE', 'FL', 'TX'),(web_sales.ws_net_profit >= 100.00),(web_sales.ws_net_profit <= 200.00)],AND[ca_state IN ('ID', 'IN', 'ND'),(web_sales.ws_net_profit >= 150.00)],AND[ca_state IN ('IL', 'MT', 'OH'),(web_sales.ws_net_profit <= 250.00)]]) build RFs:RF3 ca_address_sk->[wr_refunded_addr_sk] ------------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query86.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query86.out index c68c8b30e9e929..d492bc02265816 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query86.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query86.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1235) and (d1.d_month_seq >= 1224)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query94.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query94.out index df854654271e34..286576e5545781 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query94.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query94.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF3 ws_order_number->[ws_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[web_sales] apply RFs: RF3 +----------------------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF3 --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_web_site_sk = web_site.web_site_sk)) otherCondition=() build RFs:RF2 web_site_sk->[ws_web_site_sk] ------------------------PhysicalProject @@ -20,9 +20,9 @@ PhysicalResultSink ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[ws_ship_addr_sk] --------------------------------hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((ws1.ws_order_number = wr1.wr_order_number)) otherCondition=() ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_returns] +------------------------------------PhysicalOlapScan[web_returns(wr1)] --------------------------------PhysicalProject ----------------------------------filter((customer_address.ca_state = 'OK')) ------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query95.out b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query95.out index 623fe7152eccbb..b7248d6c87c811 100644 --- a/regression-test/data/shape_check/tpcds_sf100/rf_prune/query95.out +++ b/regression-test/data/shape_check/tpcds_sf100/rf_prune/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF7 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF7 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF7 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF7 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF1 RF2 RF3 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'NC')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query10.out b/regression-test/data/shape_check/tpcds_sf100/shape/query10.out index 4dfc2de4cf3fe5..d5e5d3e9ef04e7 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query10.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query10.out @@ -40,8 +40,8 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF0 ----------------------------------PhysicalProject ------------------------------------filter(ca_county IN ('Cochran County', 'Kandiyohi County', 'Marquette County', 'Storey County', 'Warren County')) ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ca)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query14.out b/regression-test/data/shape_check/tpcds_sf100/shape/query14.out index 9655664e7009ec..1db93e324dcf89 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query14.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query14.out @@ -18,9 +18,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((d1.d_year <= 2002) and (d1.d_year >= 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] +----------------------PhysicalOlapScan[item(iss)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -32,9 +32,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 ------------------------PhysicalProject --------------------------filter((d2.d_year <= 2002) and (d2.d_year >= 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d2)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF19 +----------------------PhysicalOlapScan[item(ics)] RFV2: RF19 ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -46,9 +46,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 RF5 ------------------------PhysicalProject --------------------------filter((d3.d_year <= 2002) and (d3.d_year >= 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF20 +----------------------PhysicalOlapScan[item(iws)] RFV2: RF20 --PhysicalCteAnchor ( cteId=CTEId#1 ) ----PhysicalCteProducer ( cteId=CTEId#1 ) ------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query16.out b/regression-test/data/shape_check/tpcds_sf100/shape/query16.out index b1b5037f23d714..4b3bbb95139e6e 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query16.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query16.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF3 cs_order_number->[cs_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 +----------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF3 --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_call_center_sk = call_center.cc_call_center_sk)) otherCondition=() build RFs:RF2 cc_call_center_sk->[cs_call_center_sk] ------------------------PhysicalProject @@ -20,9 +20,9 @@ PhysicalResultSink ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[cs_ship_addr_sk] --------------------------------hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((cs1.cs_order_number = cr1.cr_order_number)) otherCondition=() ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_returns] +------------------------------------PhysicalOlapScan[catalog_returns(cr1)] --------------------------------PhysicalProject ----------------------------------filter((customer_address.ca_state = 'WV')) ------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query17.out b/regression-test/data/shape_check/tpcds_sf100/shape/query17.out index 7cc4a196c206c3..8500161113dfcc 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query17.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query17.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 s_store_sk->[ss_store_sk] ------------------------PhysicalProject @@ -29,14 +29,14 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_quarter_name = '2001Q1')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ------------------------------------PhysicalProject --------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF5 ------------------------------------PhysicalProject --------------------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------PhysicalProject ------------------------------PhysicalOlapScan[item] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query18.out b/regression-test/data/shape_check/tpcds_sf100/shape/query18.out index cc7308bfd957b8..178c86ab50e025 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query18.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query18.out @@ -23,11 +23,11 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 RF4 ----------------------------------PhysicalProject ------------------------------------filter((cd1.cd_education_status = 'Advanced Degree') and (cd1.cd_gender = 'F')) ---------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_cdemo_sk = cd2.cd_demo_sk)) otherCondition=() build RFs:RF1 c_current_cdemo_sk->[cd_demo_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF1 +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF1 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer.c_current_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query25.out b/regression-test/data/shape_check/tpcds_sf100/shape/query25.out index a9f0a2a72e7793..a6fa452b1806d7 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query25.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query25.out @@ -15,7 +15,7 @@ PhysicalResultSink ------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 2000)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 s_store_sk->[ss_store_sk] ----------------------PhysicalProject @@ -28,14 +28,14 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 ----------------------------------PhysicalProject ------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 2000)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF5 ----------------------------------PhysicalProject ------------------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 2000)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[item] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query29.out b/regression-test/data/shape_check/tpcds_sf100/shape/query29.out index 53995b4a88e7d9..3eb756f83deda3 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query29.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query29.out @@ -25,19 +25,19 @@ PhysicalResultSink ----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 --------------------------------------PhysicalProject ----------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1999)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF5 --------------------------------------PhysicalProject ----------------------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1999)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------------PhysicalProject --------------------------------PhysicalOlapScan[item] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ------------------PhysicalProject --------------------filter(d_year IN (1999, 2000, 2001)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d3)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query3.out b/regression-test/data/shape_check/tpcds_sf100/shape/query3.out index 4092c73d09fd5b..e9c6ec79c33e7b 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query3.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query3.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query35.out b/regression-test/data/shape_check/tpcds_sf100/shape/query35.out index 9728d7d30707cd..787ca8a9fd3119 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query35.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query35.out @@ -18,9 +18,9 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF3 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF3 RF4 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF3 RF4 RF5 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_address] +------------------------------------PhysicalOlapScan[customer_address(ca)] ------------------------------PhysicalProject --------------------------------PhysicalOlapScan[customer_demographics] --------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query36.out b/regression-test/data/shape_check/tpcds_sf100/shape/query36.out index 92f5563f1a38b5..ac423e3e6df849 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query36.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query36.out @@ -24,7 +24,7 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 RF2 ----------------------------------------PhysicalProject ------------------------------------------filter((d1.d_year = 2002)) ---------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------------PhysicalProject --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query41.out b/regression-test/data/shape_check/tpcds_sf100/shape/query41.out index 27f61565b67f12..1a37dd7da92355 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query41.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 788) and (i1.i_manufact_id >= 748)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query42.out b/regression-test/data/shape_check/tpcds_sf100/shape/query42.out index 5919f208ddfefb..b2a262da46536b 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query42.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query42.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11) and (dt.d_year = 2002)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query44.out b/regression-test/data/shape_check/tpcds_sf100/shape/query44.out index 0bac032032ce42..5c55cff87e3832 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query44.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query44.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 146)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 146)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query46.out b/regression-test/data/shape_check/tpcds_sf100/shape/query46.out index 13bf6421c7ed3a..f97d7904f42cd6 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query46.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query46.out @@ -34,5 +34,5 @@ PhysicalResultSink ----------------PhysicalProject ------------------PhysicalOlapScan[customer] apply RFs: RF5 ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query49.out b/regression-test/data/shape_check/tpcds_sf100/shape/query49.out index b13ecb58ccc887..423e1cf346f6dd 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query49.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query49.out @@ -31,12 +31,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF1 ws_order_number->[wr_order_number];RF2 ws_item_sk->[wr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[web_returns] apply RFs: RF1 RF2 +--------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] apply RFs: RF1 RF2 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -63,12 +63,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF4 cs_order_number->[cr_order_number];RF5 cs_item_sk->[cr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF4 RF5 +--------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] apply RFs: RF4 RF5 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF3 d_date_sk->[cs_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -95,12 +95,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF7 ss_ticket_number->[sr_ticket_number];RF8 ss_item_sk->[sr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF7 RF8 +--------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] apply RFs: RF7 RF8 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((sts.ss_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF6 d_date_sk->[ss_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 1999)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query50.out b/regression-test/data/shape_check/tpcds_sf100/shape/query50.out index f5c3f38463d42c..18be632aaa5770 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query50.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query50.out @@ -21,9 +21,9 @@ PhysicalResultSink --------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 ------------------------------PhysicalProject --------------------------------filter((d2.d_moy = 8) and (d2.d_year = 2001)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query52.out b/regression-test/data/shape_check/tpcds_sf100/shape/query52.out index 1eff8fc3ba89c1..ddcc09c49f974a 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query52.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query52.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 12) and (dt.d_year = 2002)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query59.out b/regression-test/data/shape_check/tpcds_sf100/shape/query59.out index 9aa7ec874b6250..b0a7ae98a66023 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query59.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query59.out @@ -27,7 +27,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalOlapScan[store] apply RFs: RF5 ------------------PhysicalProject --------------------filter((d.d_month_seq <= 1207) and (d.d_month_seq >= 1196)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d)] --------------PhysicalProject ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = d_week_seq2)) otherCondition=() build RFs:RF2 d_week_seq->[d_week_seq] ------------------PhysicalProject @@ -38,5 +38,5 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalOlapScan[store] ------------------PhysicalProject --------------------filter((d.d_month_seq <= 1219) and (d.d_month_seq >= 1208)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query6.out b/regression-test/data/shape_check/tpcds_sf100/shape/query6.out index 94dfbee3c5e2b2..9eead41add48b7 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query6.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query6.out @@ -12,21 +12,21 @@ PhysicalResultSink ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------------PhysicalProject -------------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------------PhysicalOlapScan[customer_address(a)] apply RFs: RF5 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------------PhysicalProject -----------------------------PhysicalOlapScan[customer] apply RFs: RF4 +----------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 --------------------------PhysicalProject ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_item_sk = i.i_item_sk)) otherCondition=() build RFs:RF3 i_item_sk->[ss_item_sk] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_sold_date_sk = d.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ss_sold_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 +------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF2 RF3 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_month_seq = date_dim.d_month_seq)) otherCondition=() build RFs:RF1 d_month_seq->[d_month_seq] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF1 +----------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF1 --------------------------------------PhysicalAssertNumRows ----------------------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------------------hashAgg[GLOBAL] @@ -38,10 +38,10 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((j.i_category = i.i_category)) otherCondition=((cast(i_current_price as DECIMALV3(38, 5)) > (1.2 * avg(j.i_current_price)))) build RFs:RF0 i_category->[i_category] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[item] apply RFs: RF0 +------------------------------------PhysicalOlapScan[item(i)] apply RFs: RF0 ----------------------------------hashAgg[GLOBAL] ------------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------------hashAgg[LOCAL] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[item] +------------------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query64.out b/regression-test/data/shape_check/tpcds_sf100/shape/query64.out index 3606d245263241..fa33c2e2a82f14 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query64.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query64.out @@ -23,13 +23,13 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------PhysicalProject --------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((hd2.hd_income_band_sk = ib2.ib_income_band_sk)) otherCondition=() build RFs:RF13 ib_income_band_sk->[hd_income_band_sk] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF13 +------------------------------------------PhysicalOlapScan[household_demographics(hd2)] apply RFs: RF13 ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[income_band] +------------------------------------------PhysicalOlapScan[income_band(ib2)] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------PhysicalOlapScan[customer_demographics(cd2)] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[customer_address] +------------------------------PhysicalOlapScan[customer_address(ad2)] ------------------------PhysicalProject --------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((store_sales.ss_item_sk = store_returns.sr_item_sk) and (store_sales.ss_ticket_number = store_returns.sr_ticket_number)) otherCondition=() build RFs:RF11 ss_item_sk->[sr_item_sk];RF12 ss_ticket_number->[sr_ticket_number] ----------------------------PhysicalProject @@ -37,11 +37,11 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((store_sales.ss_addr_sk = ad1.ca_address_sk)) otherCondition=() build RFs:RF10 ss_addr_sk->[ca_address_sk] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_address] apply RFs: RF10 +----------------------------------PhysicalOlapScan[customer_address(ad1)] apply RFs: RF10 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((store_sales.ss_cdemo_sk = cd1.cd_demo_sk)) otherCondition=() build RFs:RF9 ss_cdemo_sk->[cd_demo_sk] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF9 +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF9 ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_sales.ss_item_sk = item.i_item_sk)) otherCondition=() build RFs:RF8 i_item_sk->[cr_item_sk,cs_item_sk,ss_item_sk] --------------------------------------PhysicalProject ----------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_sales.ss_promo_sk = promotion.p_promo_sk)) otherCondition=() build RFs:RF7 p_promo_sk->[ss_promo_sk] @@ -59,7 +59,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ----------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 RF4 RF6 RF7 RF8 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter(d_year IN (2001, 2002)) -------------------------------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((sale > (2 * refund))) --------------------------------------------------------------hashAgg[GLOBAL] @@ -72,9 +72,9 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------------------------------------------PhysicalProject --------------------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF8 ------------------------------------------------------PhysicalProject ---------------------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF5 +--------------------------------------------------------PhysicalOlapScan[household_demographics(hd1)] apply RFs: RF5 --------------------------------------------------PhysicalProject -----------------------------------------------------PhysicalOlapScan[income_band] +----------------------------------------------------PhysicalOlapScan[income_band(ib1)] ----------------------------------------------PhysicalProject ------------------------------------------------PhysicalOlapScan[store] ------------------------------------------PhysicalProject @@ -83,9 +83,9 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ----------------------------------------filter((item.i_current_price <= 33.00) and (item.i_current_price >= 24.00) and i_color IN ('blanched', 'brown', 'burlywood', 'chocolate', 'drab', 'medium')) ------------------------------------------PhysicalOlapScan[item] --------------------PhysicalProject -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d2)] ----------------PhysicalProject -------------------PhysicalOlapScan[date_dim] +------------------PhysicalOlapScan[date_dim(d3)] --PhysicalResultSink ----PhysicalQuickSort[MERGE_SORT] ------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query68.out b/regression-test/data/shape_check/tpcds_sf100/shape/query68.out index 8edc384cd49a83..04c6bb6e8b04b2 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query68.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query68.out @@ -9,7 +9,7 @@ PhysicalResultSink ------------PhysicalProject --------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_addr_sk = current_addr.ca_address_sk)) otherCondition=(( not (ca_city = bought_city))) build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------PhysicalOlapScan[customer_address(current_addr)] apply RFs: RF5 ----------------PhysicalProject ------------------hashJoin[INNER_JOIN broadcast] hashCondition=((dn.ss_customer_sk = customer.c_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query69.out b/regression-test/data/shape_check/tpcds_sf100/shape/query69.out index a68ff0c1138094..6e04a1e80acc91 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query69.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query69.out @@ -33,7 +33,7 @@ PhysicalResultSink ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[c_current_addr_sk] ------------------------------hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((c.c_customer_sk = web_sales.ws_bill_customer_sk)) otherCondition=() --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF1 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF1 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] ------------------------------------PhysicalProject @@ -43,5 +43,5 @@ PhysicalResultSink ----------------------------------------PhysicalOlapScan[date_dim] ------------------------------PhysicalProject --------------------------------filter(ca_state IN ('MI', 'TX', 'VA')) -----------------------------------PhysicalOlapScan[customer_address] +----------------------------------PhysicalOlapScan[customer_address(ca)] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query70.out b/regression-test/data/shape_check/tpcds_sf100/shape/query70.out index b1074dc6ffeed5..fa392cc3b8ff62 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query70.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1224) and (d1.d_month_seq >= 1213)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[LEFT_SEMI_JOIN broadcast] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() build RFs:RF2 s_state->[s_state] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store] apply RFs: RF2 diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query72.out b/regression-test/data/shape_check/tpcds_sf100/shape/query72.out index 2e370f2716bfc2..a114811734015d 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query72.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query72.out @@ -35,16 +35,16 @@ PhysicalResultSink ----------------------------------------------------------PhysicalOlapScan[household_demographics] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((d1.d_year = 2002)) -------------------------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF5 +------------------------------------------------------PhysicalOlapScan[date_dim(d1)] apply RFs: RF5 ----------------------------------------------PhysicalProject ------------------------------------------------filter((customer_demographics.cd_marital_status = 'W')) --------------------------------------------------PhysicalOlapScan[customer_demographics] ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------PhysicalOlapScan[date_dim(d3)] --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[item] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[warehouse] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query85.out b/regression-test/data/shape_check/tpcds_sf100/shape/query85.out index afe29ebb5e4289..ec90a2a41d8546 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query85.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query85.out @@ -16,12 +16,12 @@ PhysicalResultSink --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cd1.cd_education_status = cd2.cd_education_status) and (cd1.cd_marital_status = cd2.cd_marital_status) and (cd2.cd_demo_sk = web_returns.wr_returning_cdemo_sk)) otherCondition=() build RFs:RF5 wr_returning_cdemo_sk->[cd_demo_sk];RF6 cd_marital_status->[cd_marital_status];RF7 cd_education_status->[cd_education_status] ----------------------------PhysicalProject ------------------------------filter(cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) ---------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF5 RF6 RF7 +--------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF5 RF6 RF7 ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cd1.cd_demo_sk = web_returns.wr_refunded_cdemo_sk)) otherCondition=(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree'),(web_sales.ws_sales_price >= 100.00),(web_sales.ws_sales_price <= 150.00)],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'Secondary'),(web_sales.ws_sales_price <= 100.00)],AND[(cd1.cd_marital_status = 'W'),(cd1.cd_education_status = 'Advanced Degree'),(web_sales.ws_sales_price >= 150.00)]]) build RFs:RF4 wr_refunded_cdemo_sk->[cd_demo_sk] --------------------------------PhysicalProject ----------------------------------filter(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'Secondary')],AND[(cd1.cd_marital_status = 'W'),(cd1.cd_education_status = 'Advanced Degree')]] and cd_education_status IN ('4 yr Degree', 'Advanced Degree', 'Secondary') and cd_marital_status IN ('M', 'S', 'W')) -------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF4 +------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF4 --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = web_returns.wr_refunded_addr_sk)) otherCondition=(OR[AND[ca_state IN ('DE', 'FL', 'TX'),(web_sales.ws_net_profit >= 100.00),(web_sales.ws_net_profit <= 200.00)],AND[ca_state IN ('ID', 'IN', 'ND'),(web_sales.ws_net_profit >= 150.00)],AND[ca_state IN ('IL', 'MT', 'OH'),(web_sales.ws_net_profit <= 250.00)]]) build RFs:RF3 ca_address_sk->[wr_refunded_addr_sk] ------------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query86.out b/regression-test/data/shape_check/tpcds_sf100/shape/query86.out index ebfed4e4aa6c91..f5663dae2be9fb 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query86.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query86.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1235) and (d1.d_month_seq >= 1224)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query94.out b/regression-test/data/shape_check/tpcds_sf100/shape/query94.out index df854654271e34..286576e5545781 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query94.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query94.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF3 ws_order_number->[ws_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[web_sales] apply RFs: RF3 +----------------------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF3 --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_web_site_sk = web_site.web_site_sk)) otherCondition=() build RFs:RF2 web_site_sk->[ws_web_site_sk] ------------------------PhysicalProject @@ -20,9 +20,9 @@ PhysicalResultSink ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[ws_ship_addr_sk] --------------------------------hashJoin[LEFT_ANTI_JOIN broadcast] hashCondition=((ws1.ws_order_number = wr1.wr_order_number)) otherCondition=() ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_returns] +------------------------------------PhysicalOlapScan[web_returns(wr1)] --------------------------------PhysicalProject ----------------------------------filter((customer_address.ca_state = 'OK')) ------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf100/shape/query95.out b/regression-test/data/shape_check/tpcds_sf100/shape/query95.out index 2e4d4278eaaed8..fec0ed12ec894f 100644 --- a/regression-test/data/shape_check/tpcds_sf100/shape/query95.out +++ b/regression-test/data/shape_check/tpcds_sf100/shape/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number];RF1 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF14 RF15 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF14 RF15 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF14 RF15 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF14 RF15 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF2 ca_address_sk->[ws_ship_addr_sk];RF3 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF2 RF3 RF4 RF5 RF6 RF7 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF2 RF3 RF4 RF5 RF6 RF7 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'NC')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query44.out b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query44.out index 5d21002157fd9a..b733c203a720df 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query44.out +++ b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query44.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 4)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 4)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query6.out b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query6.out index 94dfbee3c5e2b2..9eead41add48b7 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query6.out +++ b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query6.out @@ -12,21 +12,21 @@ PhysicalResultSink ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------------PhysicalProject -------------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------------PhysicalOlapScan[customer_address(a)] apply RFs: RF5 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------------PhysicalProject -----------------------------PhysicalOlapScan[customer] apply RFs: RF4 +----------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 --------------------------PhysicalProject ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_item_sk = i.i_item_sk)) otherCondition=() build RFs:RF3 i_item_sk->[ss_item_sk] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_sold_date_sk = d.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ss_sold_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 +------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF2 RF3 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_month_seq = date_dim.d_month_seq)) otherCondition=() build RFs:RF1 d_month_seq->[d_month_seq] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF1 +----------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF1 --------------------------------------PhysicalAssertNumRows ----------------------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------------------hashAgg[GLOBAL] @@ -38,10 +38,10 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((j.i_category = i.i_category)) otherCondition=((cast(i_current_price as DECIMALV3(38, 5)) > (1.2 * avg(j.i_current_price)))) build RFs:RF0 i_category->[i_category] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[item] apply RFs: RF0 +------------------------------------PhysicalOlapScan[item(i)] apply RFs: RF0 ----------------------------------hashAgg[GLOBAL] ------------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------------hashAgg[LOCAL] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[item] +------------------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query68.out b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query68.out index 158dde8b936afe..e25d34e80cdd66 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query68.out +++ b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query68.out @@ -9,7 +9,7 @@ PhysicalResultSink ------------PhysicalProject --------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_addr_sk = current_addr.ca_address_sk)) otherCondition=(( not (ca_city = bought_city))) build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------PhysicalOlapScan[customer_address(current_addr)] apply RFs: RF5 ----------------PhysicalProject ------------------hashJoin[INNER_JOIN broadcast] hashCondition=((dn.ss_customer_sk = customer.c_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query95.out b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query95.out index 84bdd6cf3d8f4a..058b68aa677160 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query95.out +++ b/regression-test/data/shape_check/tpcds_sf1000/bs_downgrade_shape/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF7 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF7 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF7 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF7 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF1 RF2 RF3 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'VA')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/eliminate_empty/query10_empty.out b/regression-test/data/shape_check/tpcds_sf1000/eliminate_empty/query10_empty.out index 78fd7c847c29ed..d740d8a47904bc 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/eliminate_empty/query10_empty.out +++ b/regression-test/data/shape_check/tpcds_sf1000/eliminate_empty/query10_empty.out @@ -40,8 +40,8 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF0 ----------------------------------PhysicalProject ------------------------------------filter(ca_county IN ('Campbell County', 'Cleburne County', 'Escambia County', 'Fairfield County', 'Washtenaw County')) ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ca)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query10.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query10.out index f006e27f47de8b..51429c402fb55a 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query10.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query10.out @@ -19,10 +19,10 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF3 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF3 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF3 RF5 ----------------------------------PhysicalProject ------------------------------------filter(ca_county IN ('Campbell County', 'Cleburne County', 'Escambia County', 'Fairfield County', 'Washtenaw County')) ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ca)] --------------------------PhysicalProject ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_sales.ss_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ss_sold_date_sk] ------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query14.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query14.out index 004edbbb04dadb..926b275c276b6e 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query14.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query14.out @@ -18,9 +18,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((d1.d_year <= 2001) and (d1.d_year >= 1999)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] +----------------------PhysicalOlapScan[item(iss)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -32,9 +32,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 ------------------------PhysicalProject --------------------------filter((d2.d_year <= 2001) and (d2.d_year >= 1999)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d2)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF19 +----------------------PhysicalOlapScan[item(ics)] RFV2: RF19 ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -46,9 +46,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 RF5 ------------------------PhysicalProject --------------------------filter((d3.d_year <= 2001) and (d3.d_year >= 1999)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF20 +----------------------PhysicalOlapScan[item(iws)] RFV2: RF20 --PhysicalCteAnchor ( cteId=CTEId#1 ) ----PhysicalCteProducer ( cteId=CTEId#1 ) ------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query16.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query16.out index 391b7d7cc41ba7..e32afc023352ba 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query16.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query16.out @@ -11,10 +11,10 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffleBucket] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF4 cs_order_number->[cs_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[catalog_sales] apply RFs: RF4 +----------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF4 --------------------hashJoin[RIGHT_ANTI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cr1.cr_order_number)) otherCondition=() build RFs:RF3 cs_order_number->[cr_order_number] ----------------------PhysicalProject -------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF3 +------------------------PhysicalOlapScan[catalog_returns(cr1)] apply RFs: RF3 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_call_center_sk = call_center.cc_call_center_sk)) otherCondition=() build RFs:RF2 cc_call_center_sk->[cs_call_center_sk] --------------------------PhysicalProject @@ -22,7 +22,7 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[cs_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'PA')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query17.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query17.out index 72003f9609ac64..02ab42f1f74e87 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query17.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query17.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() build RFs:RF6 i_item_sk->[sr_item_sk,ss_item_sk] ------------------------PhysicalProject @@ -29,14 +29,14 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_quarter_name = '2001Q1')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ------------------------------------PhysicalProject --------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF6 ------------------------------------PhysicalProject --------------------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------PhysicalProject ------------------------------PhysicalOlapScan[store] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query18.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query18.out index 83435bdb2f7c23..cebd84221d984b 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query18.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query18.out @@ -21,11 +21,11 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 RF4 RF5 ----------------------------------PhysicalProject ------------------------------------filter((cd1.cd_education_status = 'Primary') and (cd1.cd_gender = 'F')) ---------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_cdemo_sk = cd2.cd_demo_sk)) otherCondition=() build RFs:RF1 c_current_cdemo_sk->[cd_demo_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF1 +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF1 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer.c_current_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query25.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query25.out index c8ed208401576b..9e41ac461884a9 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query25.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query25.out @@ -15,7 +15,7 @@ PhysicalResultSink ------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 1999)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store.s_store_sk = store_sales.ss_store_sk)) otherCondition=() build RFs:RF6 s_store_sk->[ss_store_sk] ----------------------PhysicalProject @@ -28,14 +28,14 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 ----------------------------------PhysicalProject ------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1999)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF5 ----------------------------------PhysicalProject ------------------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 1999)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[item] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query29.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query29.out index da1a421441457d..0e55603d42d516 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query29.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query29.out @@ -25,21 +25,21 @@ PhysicalResultSink ----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 --------------------------------------PhysicalProject ----------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1998)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF5 --------------------------------------PhysicalProject ----------------------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1998)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------------PhysicalProject --------------------------------PhysicalOlapScan[item] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ------------------PhysicalProject --------------------filter(d_year IN (1998, 1999, 2000)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d3)] Hint log: Used: leading(catalog_sales { { store_sales d1 { store_returns d2 } } item store } d3 ) diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query3.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query3.out index c9bc8e2e8dd21e..152e31c9118634 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query3.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query3.out @@ -19,7 +19,7 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] Hint log: Used: leading(store_sales broadcast item broadcast dt ) diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query36.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query36.out index 7d79fdc49e8244..2ab854cac1d492 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query36.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query36.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------PhysicalOlapScan[store] ------------------------------------PhysicalProject --------------------------------------filter((d1.d_year = 2000)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query41.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query41.out index 27385ebe5c25ba..92045bb79faf37 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query41.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 744) and (i1.i_manufact_id >= 704)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query42.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query42.out index fb38db7162c8fb..a150f3bf0bfbe2 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query42.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query42.out @@ -19,7 +19,7 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11) and (dt.d_year = 1998)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] Hint log: Used: leading(store_sales item date_dim ) diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query44.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query44.out index 55c8164bef6a59..cf71eff66ce68d 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query44.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query44.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 4)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 4)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query46.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query46.out index 1b99c6d506b15e..e7deedf24452ee 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query46.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query46.out @@ -34,7 +34,7 @@ PhysicalResultSink ------------------------PhysicalProject --------------------------PhysicalOlapScan[customer_address] ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] Hint log: Used: leading(store_sales store date_dim household_demographics customer_address ) leading(customer dn current_addr ) diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query49.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query49.out index dcf3a9418d3491..84bca335a1006b 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query49.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query49.out @@ -31,12 +31,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF1 ws_order_number->[wr_order_number];RF2 ws_item_sk->[wr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[web_returns] apply RFs: RF1 RF2 +--------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] apply RFs: RF1 RF2 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -63,12 +63,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF4 cs_order_number->[cr_order_number];RF5 cs_item_sk->[cr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF4 RF5 +--------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] apply RFs: RF4 RF5 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF3 d_date_sk->[cs_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -95,12 +95,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF7 ss_ticket_number->[sr_ticket_number];RF8 ss_item_sk->[sr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF7 RF8 +--------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] apply RFs: RF7 RF8 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((sts.ss_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF6 d_date_sk->[ss_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query50.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query50.out index 86f8e0f32c19d2..3af090a8b3adef 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query50.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query50.out @@ -21,9 +21,9 @@ PhysicalResultSink --------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 ------------------------------PhysicalProject --------------------------------filter((d2.d_moy = 8) and (d2.d_year = 2001)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query52.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query52.out index 36b78a0e92594d..229d035db52d7d 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query52.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query52.out @@ -19,7 +19,7 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 12) and (dt.d_year = 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] Hint log: Used: leading(store_sales item date_dim ) diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out index 2258c50d809884..0ff471a3959786 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query59.out @@ -25,7 +25,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF3 RF4 ----------------------PhysicalProject ------------------------filter((d.d_month_seq <= 1206) and (d.d_month_seq >= 1195)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] apply RFs: RF5 --------------PhysicalProject @@ -36,7 +36,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) apply RFs: RF1 RF2 ----------------------PhysicalProject ------------------------filter((d.d_month_seq <= 1218) and (d.d_month_seq >= 1207)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query6.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query6.out index 94dfbee3c5e2b2..9eead41add48b7 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query6.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query6.out @@ -12,21 +12,21 @@ PhysicalResultSink ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------------PhysicalProject -------------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------------PhysicalOlapScan[customer_address(a)] apply RFs: RF5 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------------PhysicalProject -----------------------------PhysicalOlapScan[customer] apply RFs: RF4 +----------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 --------------------------PhysicalProject ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_item_sk = i.i_item_sk)) otherCondition=() build RFs:RF3 i_item_sk->[ss_item_sk] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_sold_date_sk = d.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ss_sold_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 +------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF2 RF3 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_month_seq = date_dim.d_month_seq)) otherCondition=() build RFs:RF1 d_month_seq->[d_month_seq] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF1 +----------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF1 --------------------------------------PhysicalAssertNumRows ----------------------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------------------hashAgg[GLOBAL] @@ -38,10 +38,10 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((j.i_category = i.i_category)) otherCondition=((cast(i_current_price as DECIMALV3(38, 5)) > (1.2 * avg(j.i_current_price)))) build RFs:RF0 i_category->[i_category] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[item] apply RFs: RF0 +------------------------------------PhysicalOlapScan[item(i)] apply RFs: RF0 ----------------------------------hashAgg[GLOBAL] ------------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------------hashAgg[LOCAL] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[item] +------------------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query64.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query64.out index 6209e3919f733d..784e1659a15544 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query64.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query64.out @@ -42,35 +42,35 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) --------------------------------------------------------------------------PhysicalProject ----------------------------------------------------------------------------PhysicalOlapScan[customer] apply RFs: RF3 RF4 RF7 RF13 RF14 --------------------------------------------------------------------------PhysicalProject -----------------------------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------------------------------------------------PhysicalProject -------------------------------------------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------------------------------------------PhysicalOlapScan[customer_demographics(cd2)] --------------------------------------------------------------PhysicalProject -----------------------------------------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ----------------------------------------------------------PhysicalProject -------------------------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------------------------PhysicalOlapScan[date_dim(d3)] ------------------------------------------------------PhysicalProject --------------------------------------------------------filter((item.i_current_price <= 58.00) and (item.i_current_price >= 49.00) and i_color IN ('blush', 'lace', 'lawn', 'misty', 'orange', 'pink')) ----------------------------------------------------------PhysicalOlapScan[item] apply RFs: RF10 RF19 ----------------------------------------------------PhysicalProject ------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((hd1.hd_income_band_sk = ib1.ib_income_band_sk)) otherCondition=() build RFs:RF2 ib_income_band_sk->[hd_income_band_sk] --------------------------------------------------------PhysicalProject -----------------------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF2 +----------------------------------------------------------PhysicalOlapScan[household_demographics(hd1)] apply RFs: RF2 --------------------------------------------------------PhysicalProject -----------------------------------------------------------PhysicalOlapScan[income_band] +----------------------------------------------------------PhysicalOlapScan[income_band(ib1)] ------------------------------------------------PhysicalProject --------------------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF19 --------------------------------------------PhysicalProject -----------------------------------------------PhysicalOlapScan[customer_address] +----------------------------------------------PhysicalOlapScan[customer_address(ad1)] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF15 +------------------------------------------PhysicalOlapScan[household_demographics(hd2)] apply RFs: RF15 ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ad2)] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[income_band] +----------------------------------PhysicalOlapScan[income_band(ib2)] ----------------------------PhysicalProject ------------------------------filter(d_year IN (1999, 2000)) ---------------------------------PhysicalOlapScan[date_dim] +--------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------PhysicalProject --------------------------PhysicalOlapScan[store] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query68.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query68.out index c6e34441ff7600..0b747c4c037b93 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query68.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query68.out @@ -9,7 +9,7 @@ PhysicalResultSink ------------PhysicalProject --------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_addr_sk = current_addr.ca_address_sk)) otherCondition=(( not (ca_city = bought_city))) build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------PhysicalOlapScan[customer_address(current_addr)] apply RFs: RF5 ----------------PhysicalProject ------------------hashJoin[INNER_JOIN broadcast] hashCondition=((dn.ss_customer_sk = customer.c_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query69.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query69.out index 31101f12eab21a..1c2ef9fa1f73fa 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query69.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query69.out @@ -33,10 +33,10 @@ PhysicalResultSink ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[c_current_addr_sk] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF1 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF1 --------------------------------PhysicalProject ----------------------------------filter(ca_state IN ('IL', 'ME', 'TX')) -------------------------------------PhysicalOlapScan[customer_address] +------------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query70.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query70.out index fad8ccb6023e68..637708869f3df0 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query70.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1231) and (d1.d_month_seq >= 1220)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[LEFT_SEMI_JOIN broadcast] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() build RFs:RF2 s_state->[s_state] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store] apply RFs: RF2 diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query72.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query72.out index dea41e0210a786..33094a1fc4253e 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query72.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query72.out @@ -33,10 +33,10 @@ PhysicalResultSink --------------------------------------------------PhysicalProject ----------------------------------------------------NestedLoopJoin[INNER_JOIN](d3.d_date > days_add(d_date, INTERVAL 5 DAY)) ------------------------------------------------------PhysicalProject ---------------------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------------------PhysicalOlapScan[date_dim(d3)] ------------------------------------------------------PhysicalProject --------------------------------------------------------filter((d1.d_year = 1998)) -----------------------------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF7 +----------------------------------------------------------PhysicalOlapScan[date_dim(d1)] apply RFs: RF7 ----------------------------------------------PhysicalProject ------------------------------------------------filter((household_demographics.hd_buy_potential = '1001-5000')) --------------------------------------------------PhysicalOlapScan[household_demographics] @@ -48,7 +48,7 @@ PhysicalResultSink ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[item] --------------------------PhysicalProject -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d2)] ------------------PhysicalProject --------------------PhysicalOlapScan[warehouse] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query85.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query85.out index 2ff3123d285db8..75967c5f17ead8 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query85.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query85.out @@ -18,7 +18,7 @@ PhysicalResultSink --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cd1.cd_education_status = cd2.cd_education_status) and (cd1.cd_marital_status = cd2.cd_marital_status) and (cd2.cd_demo_sk = web_returns.wr_returning_cdemo_sk)) otherCondition=() build RFs:RF5 wr_returning_cdemo_sk->[cd_demo_sk];RF6 cd_marital_status->[cd_marital_status];RF7 cd_education_status->[cd_education_status] ----------------------------PhysicalProject ------------------------------filter(cd_education_status IN ('Advanced Degree', 'College', 'Primary') and cd_marital_status IN ('D', 'S', 'U')) ---------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF5 RF6 RF7 +--------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF5 RF6 RF7 ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = web_returns.wr_refunded_addr_sk)) otherCondition=(OR[AND[ca_state IN ('IA', 'NC', 'TX'),(web_sales.ws_net_profit >= 100.00),(web_sales.ws_net_profit <= 200.00)],AND[ca_state IN ('GA', 'WI', 'WV'),(web_sales.ws_net_profit >= 150.00)],AND[ca_state IN ('KY', 'OK', 'VA'),(web_sales.ws_net_profit <= 250.00)]]) build RFs:RF4 wr_refunded_addr_sk->[ca_address_sk] --------------------------------PhysicalProject @@ -40,7 +40,7 @@ PhysicalResultSink ------------------------------------------------PhysicalOlapScan[date_dim] ------------------------------------PhysicalProject --------------------------------------filter(OR[AND[(cd1.cd_marital_status = 'D'),(cd1.cd_education_status = 'Primary')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'College')],AND[(cd1.cd_marital_status = 'U'),(cd1.cd_education_status = 'Advanced Degree')]] and cd_education_status IN ('Advanced Degree', 'College', 'Primary') and cd_marital_status IN ('D', 'S', 'U')) -----------------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------PhysicalProject --------------------------PhysicalOlapScan[reason] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query86.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query86.out index f91fbe25138194..e3d79993184a46 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query86.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query86.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1197) and (d1.d_month_seq >= 1186)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query94.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query94.out index bd89dd58effa9b..78bc76f63ea747 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query94.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query94.out @@ -11,10 +11,10 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffleBucket] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF4 ws_order_number->[ws_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[web_sales] apply RFs: RF4 +----------------------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF4 --------------------hashJoin[RIGHT_ANTI_JOIN shuffle] hashCondition=((ws1.ws_order_number = wr1.wr_order_number)) otherCondition=() build RFs:RF3 ws_order_number->[wr_order_number] ----------------------PhysicalProject -------------------------PhysicalOlapScan[web_returns] apply RFs: RF3 +------------------------PhysicalOlapScan[web_returns(wr1)] apply RFs: RF3 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_web_site_sk = web_site.web_site_sk)) otherCondition=() build RFs:RF2 web_site_sk->[ws_web_site_sk] --------------------------PhysicalProject @@ -22,7 +22,7 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'OK')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/hint/query95.out b/regression-test/data/shape_check/tpcds_sf1000/hint/query95.out index 84bdd6cf3d8f4a..058b68aa677160 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/hint/query95.out +++ b/regression-test/data/shape_check/tpcds_sf1000/hint/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF7 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF7 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF7 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF7 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF1 RF2 RF3 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'VA')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query10.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query10.out index 78fd7c847c29ed..d740d8a47904bc 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query10.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query10.out @@ -40,8 +40,8 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF0 ----------------------------------PhysicalProject ------------------------------------filter(ca_county IN ('Campbell County', 'Cleburne County', 'Escambia County', 'Fairfield County', 'Washtenaw County')) ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ca)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query14.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query14.out index 1ff418e208468a..6793b0f43678d8 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query14.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query14.out @@ -18,9 +18,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((d1.d_year <= 2001) and (d1.d_year >= 1999)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] +----------------------PhysicalOlapScan[item(iss)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -32,9 +32,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 ------------------------PhysicalProject --------------------------filter((d2.d_year <= 2001) and (d2.d_year >= 1999)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d2)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF19 +----------------------PhysicalOlapScan[item(ics)] RFV2: RF19 ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -46,9 +46,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalOlapScan[web_sales] apply RFs: RF4 RF5 ------------------------PhysicalProject --------------------------filter((d3.d_year <= 2001) and (d3.d_year >= 1999)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject -----------------------PhysicalOlapScan[item] RFV2: RF20 +----------------------PhysicalOlapScan[item(iws)] RFV2: RF20 --PhysicalCteAnchor ( cteId=CTEId#1 ) ----PhysicalCteProducer ( cteId=CTEId#1 ) ------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query16.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query16.out index 21dcd5cf6df0ae..30da2ea81f8a2a 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query16.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query16.out @@ -11,10 +11,10 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffleBucket] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF4 cs_order_number->[cs_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[catalog_sales] apply RFs: RF4 +----------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF4 --------------------hashJoin[RIGHT_ANTI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cr1.cr_order_number)) otherCondition=() build RFs:RF3 cs_order_number->[cr_order_number] ----------------------PhysicalProject -------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF3 +------------------------PhysicalOlapScan[catalog_returns(cr1)] apply RFs: RF3 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_call_center_sk = call_center.cc_call_center_sk)) otherCondition=() build RFs:RF2 cc_call_center_sk->[cs_call_center_sk] --------------------------PhysicalProject @@ -22,7 +22,7 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs1.cs_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[cs_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'PA')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query17.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query17.out index 12fa11701b619f..5c5b2c95f6af60 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query17.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query17.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() build RFs:RF6 i_item_sk->[sr_item_sk,ss_item_sk] ------------------------PhysicalProject @@ -29,14 +29,14 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_quarter_name = '2001Q1')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ------------------------------------PhysicalProject --------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF6 ------------------------------------PhysicalProject --------------------------------------filter(d_quarter_name IN ('2001Q1', '2001Q2', '2001Q3')) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------PhysicalProject ------------------------------PhysicalOlapScan[store] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query18.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query18.out index ea401d9c36dc08..0701882afd123e 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query18.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query18.out @@ -21,11 +21,11 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 RF4 RF5 ----------------------------------PhysicalProject ------------------------------------filter((cd1.cd_education_status = 'Primary') and (cd1.cd_gender = 'F')) ---------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_cdemo_sk = cd2.cd_demo_sk)) otherCondition=() build RFs:RF1 c_current_cdemo_sk->[cd_demo_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF1 +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF1 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer.c_current_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query25.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query25.out index 8ccafdc60f8ba4..4d6eb90379d155 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query25.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query25.out @@ -15,7 +15,7 @@ PhysicalResultSink ------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF7 RF8 RF9 ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 1999)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_item_sk = store_sales.ss_item_sk)) otherCondition=() build RFs:RF6 i_item_sk->[sr_item_sk,ss_item_sk] ----------------------PhysicalProject @@ -28,14 +28,14 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 ----------------------------------PhysicalProject ------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1999)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF6 ----------------------------------PhysicalProject ------------------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 1999)) ---------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query29.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query29.out index 649a6f83d9759a..b238e2d84e140a 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query29.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query29.out @@ -25,19 +25,19 @@ PhysicalResultSink ----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 RF4 RF5 RF6 --------------------------------------PhysicalProject ----------------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1998)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((store_returns.sr_returned_date_sk = d2.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[sr_returned_date_sk] --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 RF6 --------------------------------------PhysicalProject ----------------------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1998)) -------------------------------------------PhysicalOlapScan[date_dim] +------------------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------------PhysicalProject --------------------------------PhysicalOlapScan[store] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[item] ------------------PhysicalProject --------------------filter(d_year IN (1998, 1999, 2000)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d3)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query3.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query3.out index 4092c73d09fd5b..e9c6ec79c33e7b 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query3.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query3.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query35.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query35.out index 2f4be8c2912555..5eb3a1ba4f931b 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query35.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query35.out @@ -25,9 +25,9 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF2 ca_address_sk->[c_current_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF2 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF2 RF5 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer_address] +------------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query36.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query36.out index e31b175d47d2c5..f75ea80df28def 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query36.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query36.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------PhysicalOlapScan[store] ------------------------------------PhysicalProject --------------------------------------filter((d1.d_year = 2000)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query41.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query41.out index 27385ebe5c25ba..92045bb79faf37 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query41.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 744) and (i1.i_manufact_id >= 704)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query42.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query42.out index 082d64052595a4..939c2713d64d44 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query42.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query42.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 11) and (dt.d_year = 1998)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query44.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query44.out index 5d21002157fd9a..b733c203a720df 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query44.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query44.out @@ -27,7 +27,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 4)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -57,7 +57,7 @@ PhysicalResultSink --------------------------------------------hashAgg[LOCAL] ----------------------------------------------PhysicalProject ------------------------------------------------filter((ss1.ss_store_sk = 4)) ---------------------------------------------------PhysicalOlapScan[store_sales] +--------------------------------------------------PhysicalOlapScan[store_sales(ss1)] --------------------------------------PhysicalProject ----------------------------------------PhysicalAssertNumRows ------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query46.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query46.out index 38585ee71d9963..b54a98e5dcb88b 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query46.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query46.out @@ -34,5 +34,5 @@ PhysicalResultSink ------------------------PhysicalProject --------------------------PhysicalOlapScan[customer_address] ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query49.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query49.out index dcf3a9418d3491..84bca335a1006b 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query49.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query49.out @@ -31,12 +31,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF1 ws_order_number->[wr_order_number];RF2 ws_item_sk->[wr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[web_returns] apply RFs: RF1 RF2 +--------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] apply RFs: RF1 RF2 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -63,12 +63,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF4 cs_order_number->[cr_order_number];RF5 cs_item_sk->[cr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF4 RF5 +--------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] apply RFs: RF4 RF5 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cs.cs_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF3 d_date_sk->[cs_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -95,12 +95,12 @@ PhysicalResultSink --------------------------------------------------------hashJoin[INNER_JOIN colocated] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF7 ss_ticket_number->[sr_ticket_number];RF8 ss_item_sk->[sr_item_sk] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) ---------------------------------------------------------------PhysicalOlapScan[store_returns] apply RFs: RF7 RF8 +--------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] apply RFs: RF7 RF8 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((sts.ss_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF6 d_date_sk->[ss_sold_date_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((date_dim.d_moy = 11) and (date_dim.d_year = 1998)) ------------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query50.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query50.out index f5c3f38463d42c..18be632aaa5770 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query50.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query50.out @@ -21,9 +21,9 @@ PhysicalResultSink --------------------------------PhysicalOlapScan[store_returns] apply RFs: RF0 ------------------------------PhysicalProject --------------------------------filter((d2.d_moy = 8) and (d2.d_year = 2001)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query52.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query52.out index 45fecf5a37245e..e3177f96cfd44c 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query52.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query52.out @@ -19,5 +19,5 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[item] --------------------PhysicalProject ----------------------filter((dt.d_moy = 12) and (dt.d_year = 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(dt)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out index 262c37a4d1929d..2253b92e0143e3 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query59.out @@ -27,7 +27,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalOlapScan[store] apply RFs: RF5 ------------------PhysicalProject --------------------filter((d.d_month_seq <= 1206) and (d.d_month_seq >= 1195)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d)] --------------PhysicalProject ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_week_seq = d_week_seq2)) otherCondition=() build RFs:RF2 d_week_seq->[d_week_seq] ------------------PhysicalProject @@ -38,5 +38,5 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalOlapScan[store] ------------------PhysicalProject --------------------filter((d.d_month_seq <= 1218) and (d.d_month_seq >= 1207)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query6.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query6.out index 94dfbee3c5e2b2..9eead41add48b7 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query6.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query6.out @@ -12,21 +12,21 @@ PhysicalResultSink ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------------PhysicalProject -------------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------------PhysicalOlapScan[customer_address(a)] apply RFs: RF5 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------------PhysicalProject -----------------------------PhysicalOlapScan[customer] apply RFs: RF4 +----------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 --------------------------PhysicalProject ----------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_item_sk = i.i_item_sk)) otherCondition=() build RFs:RF3 i_item_sk->[ss_item_sk] ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((s.ss_sold_date_sk = d.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ss_sold_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 +------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF2 RF3 ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((d.d_month_seq = date_dim.d_month_seq)) otherCondition=() build RFs:RF1 d_month_seq->[d_month_seq] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF1 +----------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF1 --------------------------------------PhysicalAssertNumRows ----------------------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------------------hashAgg[GLOBAL] @@ -38,10 +38,10 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((j.i_category = i.i_category)) otherCondition=((cast(i_current_price as DECIMALV3(38, 5)) > (1.2 * avg(j.i_current_price)))) build RFs:RF0 i_category->[i_category] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[item] apply RFs: RF0 +------------------------------------PhysicalOlapScan[item(i)] apply RFs: RF0 ----------------------------------hashAgg[GLOBAL] ------------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------------hashAgg[LOCAL] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[item] +------------------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query64.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query64.out index 41bac290d08204..83080f1d504097 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query64.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query64.out @@ -23,15 +23,15 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------PhysicalProject --------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((hd2.hd_income_band_sk = ib2.ib_income_band_sk)) otherCondition=() build RFs:RF13 ib_income_band_sk->[hd_income_band_sk] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF13 +------------------------------------------PhysicalOlapScan[household_demographics(hd2)] apply RFs: RF13 ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[income_band] +------------------------------------------PhysicalOlapScan[income_band(ib2)] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[customer_demographics] +------------------------------PhysicalOlapScan[customer_demographics(cd2)] ------------------------PhysicalProject ---------------------------PhysicalOlapScan[customer_address] +--------------------------PhysicalOlapScan[customer_address(ad2)] --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN shuffle] hashCondition=((store_sales.ss_addr_sk = ad1.ca_address_sk)) otherCondition=() build RFs:RF12 ca_address_sk->[ss_addr_sk] ------------------------PhysicalProject @@ -57,7 +57,7 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) ------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF2 RF3 RF4 RF6 RF7 RF8 RF9 RF12 ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter(d_year IN (1999, 2000)) ---------------------------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------------------------PhysicalOlapScan[date_dim(d1)] ------------------------------------------------------PhysicalProject --------------------------------------------------------filter((sale > (2 * refund))) ----------------------------------------------------------hashAgg[GLOBAL] @@ -70,22 +70,22 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) --------------------------------------------------------------------PhysicalProject ----------------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF7 --------------------------------------------------PhysicalProject -----------------------------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF5 +----------------------------------------------------PhysicalOlapScan[household_demographics(hd1)] apply RFs: RF5 ----------------------------------------------PhysicalProject -------------------------------------------------PhysicalOlapScan[income_band] +------------------------------------------------PhysicalOlapScan[income_band(ib1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalOlapScan[store] --------------------------------------PhysicalProject ----------------------------------------filter((item.i_current_price <= 58.00) and (item.i_current_price >= 49.00) and i_color IN ('blush', 'lace', 'lawn', 'misty', 'orange', 'pink')) ------------------------------------------PhysicalOlapScan[item] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[promotion] ------------------------PhysicalProject ---------------------------PhysicalOlapScan[customer_address] +--------------------------PhysicalOlapScan[customer_address(ad1)] ----------------PhysicalProject -------------------PhysicalOlapScan[date_dim] +------------------PhysicalOlapScan[date_dim(d3)] --PhysicalResultSink ----PhysicalQuickSort[MERGE_SORT] ------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query68.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query68.out index 158dde8b936afe..e25d34e80cdd66 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query68.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query68.out @@ -9,7 +9,7 @@ PhysicalResultSink ------------PhysicalProject --------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_current_addr_sk = current_addr.ca_address_sk)) otherCondition=(( not (ca_city = bought_city))) build RFs:RF5 c_current_addr_sk->[ca_address_sk] ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] apply RFs: RF5 +------------------PhysicalOlapScan[customer_address(current_addr)] apply RFs: RF5 ----------------PhysicalProject ------------------hashJoin[INNER_JOIN broadcast] hashCondition=((dn.ss_customer_sk = customer.c_customer_sk)) otherCondition=() build RFs:RF4 ss_customer_sk->[c_customer_sk] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query69.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query69.out index 31101f12eab21a..1c2ef9fa1f73fa 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query69.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query69.out @@ -33,10 +33,10 @@ PhysicalResultSink ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((c.c_current_addr_sk = ca.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[c_current_addr_sk] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF1 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF1 --------------------------------PhysicalProject ----------------------------------filter(ca_state IN ('IL', 'ME', 'TX')) -------------------------------------PhysicalOlapScan[customer_address] +------------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_sold_date_sk] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query70.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query70.out index ec1bdd0e99afb6..6f7209d31b58eb 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query70.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1231) and (d1.d_month_seq >= 1220)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[LEFT_SEMI_JOIN broadcast] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() build RFs:RF2 s_state->[s_state] ----------------------------------PhysicalProject ------------------------------------PhysicalOlapScan[store] apply RFs: RF2 diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query72.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query72.out index c35f0dea45cd71..316fa087d860cf 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query72.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query72.out @@ -32,10 +32,10 @@ PhysicalResultSink --------------------------------------------------PhysicalProject ----------------------------------------------------NestedLoopJoin[INNER_JOIN](d3.d_date > days_add(d_date, INTERVAL 5 DAY)) ------------------------------------------------------PhysicalProject ---------------------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------------------PhysicalOlapScan[date_dim(d3)] ------------------------------------------------------PhysicalProject --------------------------------------------------------filter((d1.d_year = 1998)) -----------------------------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF6 +----------------------------------------------------------PhysicalOlapScan[date_dim(d1)] apply RFs: RF6 ----------------------------------------------PhysicalProject ------------------------------------------------filter((household_demographics.hd_buy_potential = '1001-5000')) --------------------------------------------------PhysicalOlapScan[household_demographics] @@ -45,7 +45,7 @@ PhysicalResultSink --------------------------------------PhysicalProject ----------------------------------------PhysicalOlapScan[promotion] ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[date_dim] apply RFs: RF8 +--------------------------------PhysicalOlapScan[date_dim(d2)] apply RFs: RF8 --------------------------PhysicalProject ----------------------------PhysicalOlapScan[item] apply RFs: RF9 ----------------------PhysicalOlapScan[inventory] apply RFs: RF10 diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query85.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query85.out index 02eea508279b3b..05a73d3e721ff9 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query85.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query85.out @@ -14,7 +14,7 @@ PhysicalResultSink ----------------------hashJoin[INNER_JOIN broadcast] hashCondition=((cd1.cd_education_status = cd2.cd_education_status) and (cd1.cd_marital_status = cd2.cd_marital_status) and (cd2.cd_demo_sk = web_returns.wr_returning_cdemo_sk)) otherCondition=() build RFs:RF6 wr_returning_cdemo_sk->[cd_demo_sk];RF7 cd_marital_status->[cd_marital_status];RF8 cd_education_status->[cd_education_status] ------------------------PhysicalProject --------------------------filter(cd_education_status IN ('Advanced Degree', 'College', 'Primary') and cd_marital_status IN ('D', 'S', 'U')) -----------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF6 RF7 RF8 +----------------------------PhysicalOlapScan[customer_demographics(cd2)] apply RFs: RF6 RF7 RF8 ------------------------PhysicalProject --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_web_page_sk = web_page.wp_web_page_sk)) otherCondition=() build RFs:RF5 wp_web_page_sk->[ws_web_page_sk] ----------------------------PhysicalProject @@ -38,7 +38,7 @@ PhysicalResultSink ------------------------------------------------PhysicalOlapScan[date_dim] ------------------------------------PhysicalProject --------------------------------------filter(OR[AND[(cd1.cd_marital_status = 'D'),(cd1.cd_education_status = 'Primary')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'College')],AND[(cd1.cd_marital_status = 'U'),(cd1.cd_education_status = 'Advanced Degree')]] and cd_education_status IN ('Advanced Degree', 'College', 'Primary') and cd_marital_status IN ('D', 'S', 'U')) -----------------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ----------------------------PhysicalProject ------------------------------PhysicalOlapScan[web_page] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query86.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query86.out index 24ed7d94f66e63..1633f90b97fbc0 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query86.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query86.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1197) and (d1.d_month_seq >= 1186)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query94.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query94.out index bd89dd58effa9b..78bc76f63ea747 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query94.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query94.out @@ -11,10 +11,10 @@ PhysicalResultSink ----------------PhysicalProject ------------------hashJoin[RIGHT_SEMI_JOIN shuffleBucket] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF4 ws_order_number->[ws_order_number] --------------------PhysicalProject -----------------------PhysicalOlapScan[web_sales] apply RFs: RF4 +----------------------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF4 --------------------hashJoin[RIGHT_ANTI_JOIN shuffle] hashCondition=((ws1.ws_order_number = wr1.wr_order_number)) otherCondition=() build RFs:RF3 ws_order_number->[wr_order_number] ----------------------PhysicalProject -------------------------PhysicalOlapScan[web_returns] apply RFs: RF3 +------------------------PhysicalOlapScan[web_returns(wr1)] apply RFs: RF3 ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_web_site_sk = web_site.web_site_sk)) otherCondition=() build RFs:RF2 web_site_sk->[ws_web_site_sk] --------------------------PhysicalProject @@ -22,7 +22,7 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF2 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'OK')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf1000/shape/query95.out b/regression-test/data/shape_check/tpcds_sf1000/shape/query95.out index 84bdd6cf3d8f4a..058b68aa677160 100644 --- a/regression-test/data/shape_check/tpcds_sf1000/shape/query95.out +++ b/regression-test/data/shape_check/tpcds_sf1000/shape/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF7 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF7 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF7 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF7 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -31,7 +31,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_addr_sk = customer_address.ca_address_sk)) otherCondition=() build RFs:RF1 ca_address_sk->[ws_ship_addr_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF1 RF2 RF3 ----------------------------------PhysicalProject ------------------------------------filter((customer_address.ca_state = 'VA')) --------------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query10.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query10.out index 43aef07e0be2c0..2eef790fde578a 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query10.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query10.out @@ -25,10 +25,10 @@ PhysicalResultSink ----------------------------------------filter((date_dim.d_moy <= 6) and (date_dim.d_moy >= 3) and (date_dim.d_year = 2000)) ------------------------------------------PhysicalOlapScan[date_dim] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF4 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 RF5 --------------------------------PhysicalProject ----------------------------------filter(ca_county IN ('Bonneville County', 'Boone County', 'Brown County', 'Fillmore County', 'McPherson County')) -------------------------------------PhysicalOlapScan[customer_address] +------------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------------PhysicalOlapScan[customer_demographics] ------------------------PhysicalProject --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query14.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query14.out index e99ca8c084e5e8..11c0239c69a982 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query14.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query14.out @@ -15,10 +15,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] apply RFs: RF6 RF7 RF8 +--------------------------PhysicalOlapScan[item(iws)] apply RFs: RF6 RF7 RF8 --------------------PhysicalProject ----------------------filter((d3.d_year <= 2002) and (d3.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d3)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -29,10 +29,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF2 RF3 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] apply RFs: RF6 RF7 RF8 +--------------------------PhysicalOlapScan[item(ics)] apply RFs: RF6 RF7 RF8 --------------------PhysicalProject ----------------------filter((d2.d_year <= 2002) and (d2.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d2)] ----------hashAgg[GLOBAL] ------------PhysicalDistribute[DistributionSpecHash] --------------hashAgg[LOCAL] @@ -43,10 +43,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------PhysicalProject --------------------------PhysicalOlapScan[store_sales] apply RFs: RF4 RF5 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[item] apply RFs: RF6 RF7 RF8 +--------------------------PhysicalOlapScan[item(iss)] apply RFs: RF6 RF7 RF8 --------------------PhysicalProject ----------------------filter((d1.d_year <= 2002) and (d1.d_year >= 2000)) -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] --------PhysicalProject ----------PhysicalOlapScan[item] --PhysicalCteAnchor ( cteId=CTEId#1 ) diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query16.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query16.out index ff30193149f0de..e57e8f46d50457 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query16.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query16.out @@ -18,11 +18,11 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[RIGHT_SEMI_JOIN shuffle] hashCondition=((cs1.cs_order_number = cs2.cs_order_number)) otherCondition=(( not (cs_warehouse_sk = cs_warehouse_sk))) build RFs:RF0 cs_order_number->[cs_order_number] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF0 +------------------------------------PhysicalOlapScan[catalog_sales(cs2)] apply RFs: RF0 ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[catalog_sales(cs1)] apply RFs: RF1 RF2 RF3 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[catalog_returns] +--------------------------------PhysicalOlapScan[catalog_returns(cr1)] ----------------------------PhysicalProject ------------------------------filter((date_dim.d_date <= '1999-05-31') and (date_dim.d_date >= '1999-04-01')) --------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query17.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query17.out index e0b281146ad099..c8ea8ec54ae1d4 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query17.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query17.out @@ -32,13 +32,13 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject ----------------------------------filter((d1.d_quarter_name = '2000Q1')) -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d1)] ----------------------------PhysicalProject ------------------------------filter(d_quarter_name IN ('2000Q1', '2000Q2', '2000Q3')) ---------------------------------PhysicalOlapScan[date_dim] +--------------------------------PhysicalOlapScan[date_dim(d2)] ------------------------PhysicalProject --------------------------filter(d_quarter_name IN ('2000Q1', '2000Q2', '2000Q3')) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(d3)] --------------------PhysicalProject ----------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query18.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query18.out index a3b95e5515ecde..ad0efe25e4f305 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query18.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query18.out @@ -27,10 +27,10 @@ PhysicalResultSink --------------------------------------------filter(c_birth_month IN (1, 4, 5, 7, 8, 9)) ----------------------------------------------PhysicalOlapScan[customer] apply RFs: RF1 RF3 --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_demographics] +----------------------------------------PhysicalOlapScan[customer_demographics(cd2)] ----------------------------------PhysicalProject ------------------------------------filter((cd1.cd_education_status = 'Unknown') and (cd1.cd_gender = 'M')) ---------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------PhysicalProject --------------------------------filter(ca_state IN ('AL', 'AR', 'GA', 'MS', 'NC', 'TX', 'WV')) ----------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query25.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query25.out index 768ad92e931b56..df7cdc965a686c 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query25.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query25.out @@ -31,13 +31,13 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[item] ------------------------------PhysicalProject --------------------------------filter((d1.d_moy = 4) and (d1.d_year = 2000)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------PhysicalProject ----------------------------filter((d2.d_moy <= 10) and (d2.d_moy >= 4) and (d2.d_year = 2000)) -------------------------------PhysicalOlapScan[date_dim] +------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject ------------------------filter((d3.d_moy <= 10) and (d3.d_moy >= 4) and (d3.d_year = 2000)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query29.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query29.out index 706d570662c86b..a0159a5ab470d5 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query29.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query29.out @@ -31,13 +31,13 @@ PhysicalResultSink ------------------------------------PhysicalOlapScan[item] ------------------------------PhysicalProject --------------------------------filter((d1.d_moy = 4) and (d1.d_year = 1998)) -----------------------------------PhysicalOlapScan[date_dim] +----------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------PhysicalProject ----------------------------filter((d2.d_moy <= 7) and (d2.d_moy >= 4) and (d2.d_year = 1998)) -------------------------------PhysicalOlapScan[date_dim] +------------------------------PhysicalOlapScan[date_dim(d2)] ----------------------PhysicalProject ------------------------filter(d_year IN (1998, 1999, 2000)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d3)] ------------------PhysicalProject --------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query3.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query3.out index 8beaf9b74953fb..59108cbbf44ac0 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query3.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query3.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 11)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manufact_id = 816)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query35.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query35.out index beedc2a19350ab..c7d2518b193eea 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query35.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query35.out @@ -25,9 +25,9 @@ PhysicalResultSink ----------------------------------------filter((date_dim.d_qoy < 4) and (date_dim.d_year = 2001)) ------------------------------------------PhysicalOlapScan[date_dim] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[customer] apply RFs: RF4 RF5 +------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 RF5 --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer_address] +----------------------------------PhysicalOlapScan[customer_address(ca)] ----------------------------PhysicalProject ------------------------------PhysicalOlapScan[customer_demographics] ------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query36.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query36.out index e2879bb57387ed..26dbca99c3da7f 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query36.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query36.out @@ -26,7 +26,7 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[item] ------------------------------------PhysicalProject --------------------------------------filter((d1.d_year = 1999)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------PhysicalProject ----------------------------------filter(s_state IN ('AL', 'FL', 'IN', 'LA', 'MI', 'MN', 'NM', 'TN')) ------------------------------------PhysicalOlapScan[store] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query41.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query41.out index 7eb9a78cac7c56..4477e3ec813db5 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query41.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query41.out @@ -11,7 +11,7 @@ PhysicalResultSink ----------------hashJoin[INNER_JOIN broadcast] hashCondition=((item.i_manufact = i1.i_manufact)) otherCondition=() build RFs:RF0 i_manufact->[i_manufact] ------------------PhysicalProject --------------------filter((i1.i_manufact_id <= 1010) and (i1.i_manufact_id >= 970)) -----------------------PhysicalOlapScan[item] apply RFs: RF0 +----------------------PhysicalOlapScan[item(i1)] apply RFs: RF0 ------------------PhysicalProject --------------------filter((item_cnt > 0)) ----------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query42.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query42.out index 939f69be9170f5..de64df627629ef 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query42.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query42.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 12) and (dt.d_year = 1998)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manager_id = 1)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query44.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query44.out index 450cb5f62c2a17..b1dbbfdff3cd09 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query44.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query44.out @@ -29,7 +29,7 @@ PhysicalResultSink ------------------------------------------------hashAgg[LOCAL] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((ss1.ss_store_sk = 366)) -------------------------------------------------------PhysicalOlapScan[store_sales] +------------------------------------------------------PhysicalOlapScan[store_sales(ss1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalAssertNumRows ----------------------------------------------PhysicalDistribute[DistributionSpecGather] @@ -55,7 +55,7 @@ PhysicalResultSink ------------------------------------------------hashAgg[LOCAL] --------------------------------------------------PhysicalProject ----------------------------------------------------filter((ss1.ss_store_sk = 366)) -------------------------------------------------------PhysicalOlapScan[store_sales] +------------------------------------------------------PhysicalOlapScan[store_sales(ss1)] ------------------------------------------PhysicalProject --------------------------------------------PhysicalAssertNumRows ----------------------------------------------PhysicalDistribute[DistributionSpecGather] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query46.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query46.out index 3675020a5eb76c..1e855c8878af72 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query46.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query46.out @@ -34,5 +34,5 @@ PhysicalResultSink ----------------PhysicalProject ------------------PhysicalOlapScan[customer] apply RFs: RF5 ------------PhysicalProject ---------------PhysicalOlapScan[customer_address] +--------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query49.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query49.out index a5885662602076..25b266645994e6 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query49.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query49.out @@ -33,10 +33,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((ws.ws_item_sk = wr.wr_item_sk) and (ws.ws_order_number = wr.wr_order_number)) otherCondition=() build RFs:RF0 wr_order_number->[ws_order_number];RF1 wr_item_sk->[ws_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((ws.ws_net_paid > 0.00) and (ws.ws_net_profit > 1.00) and (ws.ws_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 +------------------------------------------------------------------PhysicalOlapScan[web_sales(ws)] apply RFs: RF0 RF1 RF2 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((wr.wr_return_amt > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[web_returns] +------------------------------------------------------------------PhysicalOlapScan[web_returns(wr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 2000)) --------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -65,10 +65,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((cs.cs_item_sk = cr.cr_item_sk) and (cs.cs_order_number = cr.cr_order_number)) otherCondition=() build RFs:RF3 cr_order_number->[cs_order_number];RF4 cr_item_sk->[cs_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cs.cs_net_paid > 0.00) and (cs.cs_net_profit > 1.00) and (cs.cs_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[catalog_sales] apply RFs: RF3 RF4 RF5 +------------------------------------------------------------------PhysicalOlapScan[catalog_sales(cs)] apply RFs: RF3 RF4 RF5 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((cr.cr_return_amount > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[catalog_returns] +------------------------------------------------------------------PhysicalOlapScan[catalog_returns(cr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 2000)) --------------------------------------------------------------PhysicalOlapScan[date_dim] @@ -97,10 +97,10 @@ PhysicalResultSink ------------------------------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((sts.ss_item_sk = sr.sr_item_sk) and (sts.ss_ticket_number = sr.sr_ticket_number)) otherCondition=() build RFs:RF6 sr_ticket_number->[ss_ticket_number];RF7 sr_item_sk->[ss_item_sk] --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sts.ss_net_paid > 0.00) and (sts.ss_net_profit > 1.00) and (sts.ss_quantity > 0)) -------------------------------------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF6 RF7 RF8 +------------------------------------------------------------------PhysicalOlapScan[store_sales(sts)] apply RFs: RF6 RF7 RF8 --------------------------------------------------------------PhysicalProject ----------------------------------------------------------------filter((sr.sr_return_amt > 10000.00)) -------------------------------------------------------------------PhysicalOlapScan[store_returns] +------------------------------------------------------------------PhysicalOlapScan[store_returns(sr)] ----------------------------------------------------------PhysicalProject ------------------------------------------------------------filter((date_dim.d_moy = 12) and (date_dim.d_year = 2000)) --------------------------------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query50.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query50.out index d2eda4d35debce..dc68d862505583 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query50.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query50.out @@ -22,8 +22,8 @@ PhysicalResultSink --------------------------PhysicalProject ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject -------------------------PhysicalOlapScan[date_dim] +------------------------PhysicalOlapScan[date_dim(d1)] ------------------PhysicalProject --------------------filter((d2.d_moy = 9) and (d2.d_year = 1998)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d2)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query52.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query52.out index c4ca0099a7bf6c..006670115d845f 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query52.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query52.out @@ -16,7 +16,7 @@ PhysicalResultSink --------------------------PhysicalOlapScan[store_sales] apply RFs: RF0 RF1 ------------------------PhysicalProject --------------------------filter((dt.d_moy = 12) and (dt.d_year = 2000)) -----------------------------PhysicalOlapScan[date_dim] +----------------------------PhysicalOlapScan[date_dim(dt)] --------------------PhysicalProject ----------------------filter((item.i_manager_id = 1)) ------------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out index 67fb3df373c6e1..5d548f7c73b5d7 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query59.out @@ -35,8 +35,8 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalOlapScan[store] ----------------------PhysicalProject ------------------------filter((d.d_month_seq <= 1228) and (d.d_month_seq >= 1217)) ---------------------------PhysicalOlapScan[date_dim] +--------------------------PhysicalOlapScan[date_dim(d)] --------------PhysicalProject ----------------filter((d.d_month_seq <= 1216) and (d.d_month_seq >= 1205)) -------------------PhysicalOlapScan[date_dim] +------------------PhysicalOlapScan[date_dim(d)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query6.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query6.out index 8ac3c94831968d..219e635c7e5703 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query6.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query6.out @@ -20,17 +20,17 @@ PhysicalResultSink ----------------------------------PhysicalProject ------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((c.c_customer_sk = s.ss_customer_sk)) otherCondition=() build RFs:RF1 c_customer_sk->[ss_customer_sk] --------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF1 RF2 RF3 +----------------------------------------PhysicalOlapScan[store_sales(s)] apply RFs: RF1 RF2 RF3 --------------------------------------PhysicalProject ----------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((a.ca_address_sk = c.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF0 ------------------------------------------PhysicalProject ---------------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------------PhysicalOlapScan[customer_address(a)] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF4 +------------------------------------PhysicalOlapScan[date_dim(d)] apply RFs: RF4 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[item] apply RFs: RF5 +--------------------------------PhysicalOlapScan[item(i)] apply RFs: RF5 --------------------------PhysicalAssertNumRows ----------------------------PhysicalDistribute[DistributionSpecGather] ------------------------------hashAgg[GLOBAL] @@ -43,5 +43,5 @@ PhysicalResultSink ------------------------PhysicalDistribute[DistributionSpecHash] --------------------------hashAgg[LOCAL] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[item] +------------------------------PhysicalOlapScan[item(j)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query64.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query64.out index 8399143cb6a33e..cb7a1487613b9e 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query64.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query64.out @@ -57,33 +57,33 @@ PhysicalCteAnchor ( cteId=CTEId#1 ) --------------------------------------------------------------------------------------------PhysicalOlapScan[catalog_returns] apply RFs: RF19 ------------------------------------------------------------------------PhysicalProject --------------------------------------------------------------------------filter(d_year IN (1999, 2000)) -----------------------------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------------------------------------------PhysicalProject ----------------------------------------------------------------------PhysicalOlapScan[store] ----------------------------------------------------------------PhysicalProject ------------------------------------------------------------------PhysicalOlapScan[customer] apply RFs: RF8 RF9 RF11 RF14 RF16 ------------------------------------------------------------PhysicalProject ---------------------------------------------------------------PhysicalOlapScan[date_dim] +--------------------------------------------------------------PhysicalOlapScan[date_dim(d2)] --------------------------------------------------------PhysicalProject -----------------------------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------------------------PhysicalOlapScan[date_dim(d3)] ----------------------------------------------------PhysicalProject -------------------------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------------------------PhysicalOlapScan[customer_demographics(cd1)] ------------------------------------------------PhysicalProject ---------------------------------------------------PhysicalOlapScan[customer_demographics] +--------------------------------------------------PhysicalOlapScan[customer_demographics(cd2)] --------------------------------------------PhysicalProject ----------------------------------------------PhysicalOlapScan[promotion] ----------------------------------------PhysicalProject -------------------------------------------PhysicalOlapScan[customer_address] +------------------------------------------PhysicalOlapScan[customer_address(ad1)] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[customer_address] +--------------------------------------PhysicalOlapScan[customer_address(ad2)] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF17 +----------------------------------PhysicalOlapScan[household_demographics(hd1)] apply RFs: RF17 ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[household_demographics] apply RFs: RF18 +------------------------------PhysicalOlapScan[household_demographics(hd2)] apply RFs: RF18 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[income_band] +--------------------------PhysicalOlapScan[income_band(ib1)] --------------------PhysicalProject -----------------------PhysicalOlapScan[income_band] +----------------------PhysicalOlapScan[income_band(ib2)] ----------------PhysicalProject ------------------filter((item.i_current_price <= 90.00) and (item.i_current_price >= 81.00) and i_color IN ('azure', 'blush', 'gainsboro', 'hot', 'lemon', 'misty')) --------------------PhysicalOlapScan[item] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query68.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query68.out index 630126cf643027..d5ae8b8f16a681 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query68.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query68.out @@ -36,5 +36,5 @@ PhysicalResultSink --------------------PhysicalProject ----------------------PhysicalLazyMaterializeOlapScan[customer lazySlots:(customer.c_first_name)] apply RFs: RF5 ----------------PhysicalProject -------------------PhysicalOlapScan[customer_address] +------------------PhysicalOlapScan[customer_address(current_addr)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query69.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query69.out index 115564d2edf45e..6b498b21a4fe99 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query69.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query69.out @@ -24,7 +24,7 @@ PhysicalResultSink --------------------------------------filter((date_dim.d_moy <= 4) and (date_dim.d_moy >= 2) and (date_dim.d_year = 2003)) ----------------------------------------PhysicalOlapScan[date_dim] --------------------------------PhysicalProject -----------------------------------PhysicalOlapScan[customer] apply RFs: RF4 RF5 +----------------------------------PhysicalOlapScan[customer(c)] apply RFs: RF4 RF5 ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((web_sales.ws_sold_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF1 d_date_sk->[ws_sold_date_sk] ----------------------------------PhysicalProject @@ -34,7 +34,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[date_dim] ----------------------------PhysicalProject ------------------------------filter(ca_state IN ('AZ', 'MN', 'MO')) ---------------------------------PhysicalOlapScan[customer_address] +--------------------------------PhysicalOlapScan[customer_address(ca)] ------------------------PhysicalProject --------------------------PhysicalOlapScan[customer_demographics] --------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query70.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query70.out index 3038640513b88d..caa10792487bfa 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query70.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query70.out @@ -22,7 +22,7 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[store_sales] apply RFs: RF3 RF4 ------------------------------------PhysicalProject --------------------------------------filter((d1.d_month_seq <= 1229) and (d1.d_month_seq >= 1218)) -----------------------------------------PhysicalOlapScan[date_dim] +----------------------------------------PhysicalOlapScan[date_dim(d1)] --------------------------------hashJoin[RIGHT_SEMI_JOIN bucketShuffle] hashCondition=((store.s_state = tmp1.s_state)) otherCondition=() build RFs:RF2 s_state->[s_state] ----------------------------------PhysicalProject ------------------------------------hashAgg[GLOBAL] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query72.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query72.out index a74beecafbb85a..6252c75e6ee1c8 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query72.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query72.out @@ -40,9 +40,9 @@ PhysicalResultSink ----------------------------------------filter((customer_demographics.cd_marital_status = 'D')) ------------------------------------------PhysicalOlapScan[customer_demographics] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[date_dim] apply RFs: RF7 +------------------------------------PhysicalOlapScan[date_dim(d2)] apply RFs: RF7 ------------------------------PhysicalProject ---------------------------------PhysicalOlapScan[date_dim] +--------------------------------PhysicalOlapScan[date_dim(d3)] --------------------------PhysicalProject ----------------------------PhysicalOlapScan[promotion] ----------------------PhysicalProject @@ -50,5 +50,5 @@ PhysicalResultSink --------------------------PhysicalOlapScan[household_demographics] ------------------PhysicalProject --------------------filter((d1.d_year = 2000)) -----------------------PhysicalOlapScan[date_dim] +----------------------PhysicalOlapScan[date_dim(d1)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query85.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query85.out index 4496c97b3fd7a8..ba9883df9d24ed 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query85.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query85.out @@ -31,10 +31,10 @@ PhysicalResultSink ------------------------------------------PhysicalOlapScan[web_page] ------------------------------------PhysicalProject --------------------------------------filter(OR[AND[(cd1.cd_marital_status = 'M'),(cd1.cd_education_status = '4 yr Degree')],AND[(cd1.cd_marital_status = 'S'),(cd1.cd_education_status = 'College')],AND[(cd1.cd_marital_status = 'D'),(cd1.cd_education_status = 'Secondary')]] and cd_education_status IN ('4 yr Degree', 'College', 'Secondary') and cd_marital_status IN ('D', 'M', 'S')) -----------------------------------------PhysicalOlapScan[customer_demographics] apply RFs: RF5 RF6 +----------------------------------------PhysicalOlapScan[customer_demographics(cd1)] apply RFs: RF5 RF6 --------------------------------PhysicalProject ----------------------------------filter(cd_education_status IN ('4 yr Degree', 'College', 'Secondary') and cd_marital_status IN ('D', 'M', 'S')) -------------------------------------PhysicalOlapScan[customer_demographics] +------------------------------------PhysicalOlapScan[customer_demographics(cd2)] ----------------------------PhysicalProject ------------------------------filter((customer_address.ca_country = 'United States') and ca_state IN ('AR', 'CA', 'IA', 'MO', 'MS', 'NE', 'TX', 'VA', 'WA')) --------------------------------PhysicalOlapScan[customer_address] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query86.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query86.out index 5173961b93d094..792d4feff5d4ad 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query86.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query86.out @@ -24,5 +24,5 @@ PhysicalResultSink --------------------------------------PhysicalOlapScan[item] --------------------------------PhysicalProject ----------------------------------filter((d1.d_month_seq <= 1226) and (d1.d_month_seq >= 1215)) -------------------------------------PhysicalOlapScan[date_dim] +------------------------------------PhysicalOlapScan[date_dim(d1)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query94.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query94.out index 2f12dce9e26230..63c035440dd95b 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query94.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query94.out @@ -18,7 +18,7 @@ PhysicalResultSink ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF0 d_date_sk->[ws_ship_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF0 RF1 RF2 RF3 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF1 RF2 RF3 ----------------------------------PhysicalProject ------------------------------------filter((date_dim.d_date <= '1999-05-31') and (date_dim.d_date >= '1999-04-01')) --------------------------------------PhysicalOlapScan[date_dim] @@ -29,7 +29,7 @@ PhysicalResultSink ----------------------------filter((web_site.web_company_name = 'pri')) ------------------------------PhysicalOlapScan[web_site] ----------------------PhysicalProject -------------------------PhysicalOlapScan[web_sales] +------------------------PhysicalOlapScan[web_sales(ws2)] ------------------PhysicalProject ---------------------PhysicalOlapScan[web_returns] +--------------------PhysicalOlapScan[web_returns(wr1)] diff --git a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query95.out b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query95.out index 140ec5cb678d55..d81d319d21abb9 100644 --- a/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query95.out +++ b/regression-test/data/shape_check/tpcds_sf10t_orc/shape/query95.out @@ -5,9 +5,9 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----PhysicalProject ------hashJoin[INNER_JOIN shuffle] hashCondition=((ws1.ws_order_number = ws2.ws_order_number)) otherCondition=(( not (ws_warehouse_sk = ws_warehouse_sk))) build RFs:RF0 ws_order_number->[ws_order_number] --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF0 RF7 +----------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF0 RF7 --------PhysicalProject -----------PhysicalOlapScan[web_sales] apply RFs: RF7 +----------PhysicalOlapScan[web_sales(ws2)] apply RFs: RF7 --PhysicalResultSink ----PhysicalLimit[GLOBAL] ------PhysicalLimit[LOCAL] @@ -25,7 +25,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ------------------------------PhysicalProject --------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((ws1.ws_ship_date_sk = date_dim.d_date_sk)) otherCondition=() build RFs:RF2 d_date_sk->[ws_ship_date_sk] ----------------------------------PhysicalProject -------------------------------------PhysicalOlapScan[web_sales] apply RFs: RF2 RF3 RF4 RF5 RF6 +------------------------------------PhysicalOlapScan[web_sales(ws1)] apply RFs: RF2 RF3 RF4 RF5 RF6 ----------------------------------PhysicalProject ------------------------------------filter((date_dim.d_date <= '2002-05-31') and (date_dim.d_date >= '2002-04-01')) --------------------------------------PhysicalOlapScan[date_dim] diff --git a/regression-test/data/shape_check/tpch_sf1000/hint/q7.out b/regression-test/data/shape_check/tpch_sf1000/hint/q7.out index 6e932cbc45682c..d546dd1883fde1 100644 --- a/regression-test/data/shape_check/tpch_sf1000/hint/q7.out +++ b/regression-test/data/shape_check/tpch_sf1000/hint/q7.out @@ -20,7 +20,7 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[supplier] --------------------------PhysicalProject ----------------------------filter(n_name IN ('FRANCE', 'GERMANY')) -------------------------------PhysicalOlapScan[nation] +------------------------------PhysicalOlapScan[nation(n1)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer.c_custkey = orders.o_custkey)) otherCondition=() ----------------------PhysicalProject @@ -31,7 +31,7 @@ PhysicalResultSink ----------------------------PhysicalOlapScan[customer] --------------------------PhysicalProject ----------------------------filter(n_name IN ('FRANCE', 'GERMANY')) -------------------------------PhysicalOlapScan[nation] +------------------------------PhysicalOlapScan[nation(n2)] Hint log: Used: leading(lineitem broadcast { supplier broadcast n1 } { orders shuffle { customer broadcast n2 } } ) diff --git a/regression-test/data/shape_check/tpch_sf1000/hint/q8.out b/regression-test/data/shape_check/tpch_sf1000/hint/q8.out index 31f98f976f45a2..50a6d5f89347f6 100644 --- a/regression-test/data/shape_check/tpch_sf1000/hint/q8.out +++ b/regression-test/data/shape_check/tpch_sf1000/hint/q8.out @@ -35,12 +35,12 @@ PhysicalResultSink --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((n1.n_regionkey = region.r_regionkey)) otherCondition=() ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[nation] +--------------------------------------PhysicalOlapScan[nation(n1)] ------------------------------------PhysicalProject --------------------------------------filter((region.r_name = 'AMERICA')) ----------------------------------------PhysicalOlapScan[region] --------------------PhysicalProject -----------------------PhysicalOlapScan[nation] +----------------------PhysicalOlapScan[nation(n2)] Hint log: Used: leading(supplier { orders { lineitem broadcast part } { customer broadcast { n1 broadcast region } } } broadcast n2 ) diff --git a/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q21.out b/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q21.out index c54a6b502f590d..1c7ee4d0192a6b 100644 --- a/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q21.out +++ b/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q21.out @@ -15,14 +15,14 @@ PhysicalResultSink ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((supplier.s_suppkey = l1.l_suppkey)) otherCondition=() build RFs:RF2 s_suppkey->[l_suppkey] --------------------------hashJoin[RIGHT_SEMI_JOIN colocated] hashCondition=((l2.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF1 l_orderkey->[l_orderkey] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[lineitem] apply RFs: RF1 RF3 +------------------------------PhysicalOlapScan[lineitem(l2)] apply RFs: RF1 RF3 ----------------------------hashJoin[RIGHT_ANTI_JOIN colocated] hashCondition=((l3.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF0 l_orderkey->[l_orderkey] ------------------------------PhysicalProject --------------------------------filter((l3.l_receiptdate > l3.l_commitdate)) -----------------------------------PhysicalOlapScan[lineitem] apply RFs: RF0 +----------------------------------PhysicalOlapScan[lineitem(l3)] apply RFs: RF0 ------------------------------PhysicalProject --------------------------------filter((l1.l_receiptdate > l1.l_commitdate)) -----------------------------------PhysicalOlapScan[lineitem] apply RFs: RF2 RF3 +----------------------------------PhysicalOlapScan[lineitem(l1)] apply RFs: RF2 RF3 --------------------------PhysicalProject ----------------------------PhysicalOlapScan[supplier] apply RFs: RF4 ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q7.out b/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q7.out index e953eb4cbcee33..549647cdfb5cb7 100644 --- a/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q7.out +++ b/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q7.out @@ -27,8 +27,8 @@ PhysicalResultSink ------------------NestedLoopJoin[INNER_JOIN]OR[AND[(n1.n_name = 'FRANCE'),(n2.n_name = 'GERMANY')],AND[(n1.n_name = 'GERMANY'),(n2.n_name = 'FRANCE')]] --------------------PhysicalProject ----------------------filter(n_name IN ('FRANCE', 'GERMANY')) -------------------------PhysicalOlapScan[nation] +------------------------PhysicalOlapScan[nation(n1)] --------------------PhysicalProject ----------------------filter(n_name IN ('FRANCE', 'GERMANY')) -------------------------PhysicalOlapScan[nation] +------------------------PhysicalOlapScan[nation(n2)] diff --git a/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q8.out b/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q8.out index eedc274096c789..b1b35c88941163 100644 --- a/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q8.out +++ b/regression-test/data/shape_check/tpch_sf1000/nostats_rf_prune/q8.out @@ -35,9 +35,9 @@ PhysicalResultSink --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[customer] apply RFs: RF4 ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[nation] apply RFs: RF6 +------------------------------PhysicalOlapScan[nation(n1)] apply RFs: RF6 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[nation] +--------------------------PhysicalOlapScan[nation(n2)] --------------------PhysicalProject ----------------------filter((region.r_name = 'AMERICA')) ------------------------PhysicalOlapScan[region] diff --git a/regression-test/data/shape_check/tpch_sf1000/rf_prune/q21.out b/regression-test/data/shape_check/tpch_sf1000/rf_prune/q21.out index 0436a7b245b174..5a3a807e5beb63 100644 --- a/regression-test/data/shape_check/tpch_sf1000/rf_prune/q21.out +++ b/regression-test/data/shape_check/tpch_sf1000/rf_prune/q21.out @@ -10,11 +10,11 @@ PhysicalResultSink --------------PhysicalProject ----------------hashJoin[RIGHT_SEMI_JOIN colocated] hashCondition=((l2.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF4 l_orderkey->[l_orderkey] ------------------PhysicalProject ---------------------PhysicalOlapScan[lineitem] apply RFs: RF4 +--------------------PhysicalOlapScan[lineitem(l2)] apply RFs: RF4 ------------------hashJoin[RIGHT_ANTI_JOIN colocated] hashCondition=((l3.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF3 l_orderkey->[l_orderkey] --------------------PhysicalProject ----------------------filter((l3.l_receiptdate > l3.l_commitdate)) -------------------------PhysicalOlapScan[lineitem] apply RFs: RF3 +------------------------PhysicalOlapScan[lineitem(l3)] apply RFs: RF3 --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN colocated] hashCondition=((orders.o_orderkey = l1.l_orderkey)) otherCondition=() build RFs:RF2 l_orderkey->[o_orderkey] ------------------------PhysicalProject @@ -24,7 +24,7 @@ PhysicalResultSink --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((supplier.s_suppkey = l1.l_suppkey)) otherCondition=() build RFs:RF1 s_suppkey->[l_suppkey] ----------------------------PhysicalProject ------------------------------filter((l1.l_receiptdate > l1.l_commitdate)) ---------------------------------PhysicalOlapScan[lineitem] apply RFs: RF1 +--------------------------------PhysicalOlapScan[lineitem(l1)] apply RFs: RF1 ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((supplier.s_nationkey = nation.n_nationkey)) otherCondition=() build RFs:RF0 n_nationkey->[s_nationkey] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpch_sf1000/rf_prune/q7.out b/regression-test/data/shape_check/tpch_sf1000/rf_prune/q7.out index 957b17a7402749..6905aedddb1cf7 100644 --- a/regression-test/data/shape_check/tpch_sf1000/rf_prune/q7.out +++ b/regression-test/data/shape_check/tpch_sf1000/rf_prune/q7.out @@ -24,12 +24,12 @@ PhysicalResultSink --------------------------------PhysicalOlapScan[supplier] apply RFs: RF1 ------------------------------PhysicalProject --------------------------------filter(n_name IN ('FRANCE', 'GERMANY')) -----------------------------------PhysicalOlapScan[nation] +----------------------------------PhysicalOlapScan[nation(n1)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer.c_nationkey = n2.n_nationkey)) otherCondition=() build RFs:RF0 n_nationkey->[c_nationkey] ----------------------PhysicalProject ------------------------PhysicalOlapScan[customer] apply RFs: RF0 ----------------------PhysicalProject ------------------------filter(n_name IN ('FRANCE', 'GERMANY')) ---------------------------PhysicalOlapScan[nation] +--------------------------PhysicalOlapScan[nation(n2)] diff --git a/regression-test/data/shape_check/tpch_sf1000/rf_prune/q8.out b/regression-test/data/shape_check/tpch_sf1000/rf_prune/q8.out index 9d85d05421445f..3b2f68228f5b3c 100644 --- a/regression-test/data/shape_check/tpch_sf1000/rf_prune/q8.out +++ b/regression-test/data/shape_check/tpch_sf1000/rf_prune/q8.out @@ -23,7 +23,7 @@ PhysicalResultSink --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((n1.n_regionkey = region.r_regionkey)) otherCondition=() build RFs:RF2 r_regionkey->[n_regionkey] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[nation] apply RFs: RF2 +--------------------------------------PhysicalOlapScan[nation(n1)] apply RFs: RF2 ------------------------------------PhysicalProject --------------------------------------filter((region.r_name = 'AMERICA')) ----------------------------------------PhysicalOlapScan[region] @@ -40,5 +40,5 @@ PhysicalResultSink --------------------------------------filter((part.p_type = 'ECONOMY ANODIZED STEEL')) ----------------------------------------PhysicalOlapScan[part] --------------------PhysicalProject -----------------------PhysicalOlapScan[nation] +----------------------PhysicalOlapScan[nation(n2)] diff --git a/regression-test/data/shape_check/tpch_sf1000/shape/q21.out b/regression-test/data/shape_check/tpch_sf1000/shape/q21.out index 0436a7b245b174..5a3a807e5beb63 100644 --- a/regression-test/data/shape_check/tpch_sf1000/shape/q21.out +++ b/regression-test/data/shape_check/tpch_sf1000/shape/q21.out @@ -10,11 +10,11 @@ PhysicalResultSink --------------PhysicalProject ----------------hashJoin[RIGHT_SEMI_JOIN colocated] hashCondition=((l2.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF4 l_orderkey->[l_orderkey] ------------------PhysicalProject ---------------------PhysicalOlapScan[lineitem] apply RFs: RF4 +--------------------PhysicalOlapScan[lineitem(l2)] apply RFs: RF4 ------------------hashJoin[RIGHT_ANTI_JOIN colocated] hashCondition=((l3.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF3 l_orderkey->[l_orderkey] --------------------PhysicalProject ----------------------filter((l3.l_receiptdate > l3.l_commitdate)) -------------------------PhysicalOlapScan[lineitem] apply RFs: RF3 +------------------------PhysicalOlapScan[lineitem(l3)] apply RFs: RF3 --------------------PhysicalProject ----------------------hashJoin[INNER_JOIN colocated] hashCondition=((orders.o_orderkey = l1.l_orderkey)) otherCondition=() build RFs:RF2 l_orderkey->[o_orderkey] ------------------------PhysicalProject @@ -24,7 +24,7 @@ PhysicalResultSink --------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((supplier.s_suppkey = l1.l_suppkey)) otherCondition=() build RFs:RF1 s_suppkey->[l_suppkey] ----------------------------PhysicalProject ------------------------------filter((l1.l_receiptdate > l1.l_commitdate)) ---------------------------------PhysicalOlapScan[lineitem] apply RFs: RF1 +--------------------------------PhysicalOlapScan[lineitem(l1)] apply RFs: RF1 ----------------------------PhysicalProject ------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((supplier.s_nationkey = nation.n_nationkey)) otherCondition=() build RFs:RF0 n_nationkey->[s_nationkey] --------------------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpch_sf1000/shape/q7.out b/regression-test/data/shape_check/tpch_sf1000/shape/q7.out index 957b17a7402749..6905aedddb1cf7 100644 --- a/regression-test/data/shape_check/tpch_sf1000/shape/q7.out +++ b/regression-test/data/shape_check/tpch_sf1000/shape/q7.out @@ -24,12 +24,12 @@ PhysicalResultSink --------------------------------PhysicalOlapScan[supplier] apply RFs: RF1 ------------------------------PhysicalProject --------------------------------filter(n_name IN ('FRANCE', 'GERMANY')) -----------------------------------PhysicalOlapScan[nation] +----------------------------------PhysicalOlapScan[nation(n1)] ------------------PhysicalProject --------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer.c_nationkey = n2.n_nationkey)) otherCondition=() build RFs:RF0 n_nationkey->[c_nationkey] ----------------------PhysicalProject ------------------------PhysicalOlapScan[customer] apply RFs: RF0 ----------------------PhysicalProject ------------------------filter(n_name IN ('FRANCE', 'GERMANY')) ---------------------------PhysicalOlapScan[nation] +--------------------------PhysicalOlapScan[nation(n2)] diff --git a/regression-test/data/shape_check/tpch_sf1000/shape/q8.out b/regression-test/data/shape_check/tpch_sf1000/shape/q8.out index 04c25aa5b1223f..b93bba6af78c1d 100644 --- a/regression-test/data/shape_check/tpch_sf1000/shape/q8.out +++ b/regression-test/data/shape_check/tpch_sf1000/shape/q8.out @@ -23,7 +23,7 @@ PhysicalResultSink --------------------------------PhysicalProject ----------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((n1.n_regionkey = region.r_regionkey)) otherCondition=() build RFs:RF2 r_regionkey->[n_regionkey] ------------------------------------PhysicalProject ---------------------------------------PhysicalOlapScan[nation] apply RFs: RF2 +--------------------------------------PhysicalOlapScan[nation(n1)] apply RFs: RF2 ------------------------------------PhysicalProject --------------------------------------filter((region.r_name = 'AMERICA')) ----------------------------------------PhysicalOlapScan[region] @@ -40,5 +40,5 @@ PhysicalResultSink --------------------------------------filter((part.p_type = 'ECONOMY ANODIZED STEEL')) ----------------------------------------PhysicalOlapScan[part] --------------------PhysicalProject -----------------------PhysicalOlapScan[nation] +----------------------PhysicalOlapScan[nation(n2)] diff --git a/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q21.out b/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q21.out index c54a6b502f590d..1c7ee4d0192a6b 100644 --- a/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q21.out +++ b/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q21.out @@ -15,14 +15,14 @@ PhysicalResultSink ------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((supplier.s_suppkey = l1.l_suppkey)) otherCondition=() build RFs:RF2 s_suppkey->[l_suppkey] --------------------------hashJoin[RIGHT_SEMI_JOIN colocated] hashCondition=((l2.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF1 l_orderkey->[l_orderkey] ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[lineitem] apply RFs: RF1 RF3 +------------------------------PhysicalOlapScan[lineitem(l2)] apply RFs: RF1 RF3 ----------------------------hashJoin[RIGHT_ANTI_JOIN colocated] hashCondition=((l3.l_orderkey = l1.l_orderkey)) otherCondition=(( not (l_suppkey = l_suppkey))) build RFs:RF0 l_orderkey->[l_orderkey] ------------------------------PhysicalProject --------------------------------filter((l3.l_receiptdate > l3.l_commitdate)) -----------------------------------PhysicalOlapScan[lineitem] apply RFs: RF0 +----------------------------------PhysicalOlapScan[lineitem(l3)] apply RFs: RF0 ------------------------------PhysicalProject --------------------------------filter((l1.l_receiptdate > l1.l_commitdate)) -----------------------------------PhysicalOlapScan[lineitem] apply RFs: RF2 RF3 +----------------------------------PhysicalOlapScan[lineitem(l1)] apply RFs: RF2 RF3 --------------------------PhysicalProject ----------------------------PhysicalOlapScan[supplier] apply RFs: RF4 ----------------------PhysicalProject diff --git a/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q7.out b/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q7.out index e953eb4cbcee33..549647cdfb5cb7 100644 --- a/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q7.out +++ b/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q7.out @@ -27,8 +27,8 @@ PhysicalResultSink ------------------NestedLoopJoin[INNER_JOIN]OR[AND[(n1.n_name = 'FRANCE'),(n2.n_name = 'GERMANY')],AND[(n1.n_name = 'GERMANY'),(n2.n_name = 'FRANCE')]] --------------------PhysicalProject ----------------------filter(n_name IN ('FRANCE', 'GERMANY')) -------------------------PhysicalOlapScan[nation] +------------------------PhysicalOlapScan[nation(n1)] --------------------PhysicalProject ----------------------filter(n_name IN ('FRANCE', 'GERMANY')) -------------------------PhysicalOlapScan[nation] +------------------------PhysicalOlapScan[nation(n2)] diff --git a/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q8.out b/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q8.out index 7b034a6386f270..850801e1db8bba 100644 --- a/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q8.out +++ b/regression-test/data/shape_check/tpch_sf1000/shape_no_stats/q8.out @@ -35,9 +35,9 @@ PhysicalResultSink --------------------------------PhysicalProject ----------------------------------PhysicalOlapScan[customer] apply RFs: RF4 ----------------------------PhysicalProject -------------------------------PhysicalOlapScan[nation] apply RFs: RF6 +------------------------------PhysicalOlapScan[nation(n1)] apply RFs: RF6 ------------------------PhysicalProject ---------------------------PhysicalOlapScan[nation] +--------------------------PhysicalOlapScan[nation(n2)] --------------------PhysicalProject ----------------------filter((region.r_name = 'AMERICA')) ------------------------PhysicalOlapScan[region] diff --git a/regression-test/suites/nereids_p0/stats/partitionRowCount.groovy b/regression-test/suites/nereids_p0/stats/partitionRowCount.groovy index d490ee52d7790d..36433b8e4154cf 100644 --- a/regression-test/suites/nereids_p0/stats/partitionRowCount.groovy +++ b/regression-test/suites/nereids_p0/stats/partitionRowCount.groovy @@ -35,7 +35,7 @@ suite("partitionRowCount") { sql """physical plan select * from partitionRowCountTable where a < 250; """ - contains("PhysicalOlapScan[partitionRowCountTable partitions(2/3)]@0 ( stats=4, operativeSlots=[a#0]") + contains("PhysicalOlapScan[partitionRowCountTable partitions(2/3)]@0") } } \ No newline at end of file