This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new c0a41dc0f8 [fix](nereids) external scan use STORAGE_ANY instead of ANY
as distibution (#24039)
c0a41dc0f8 is described below
commit c0a41dc0f881c6b3bbe2c6a36949c7d8f5be9215
Author: minghong <[email protected]>
AuthorDate: Fri Sep 8 16:25:35 2023 +0800
[fix](nereids) external scan use STORAGE_ANY instead of ANY as distibution
(#24039)
---
.../nereids/properties/ChildOutputPropertyDeriver.java | 16 +++++++++++++---
.../nereids/trees/plans/physical/PhysicalJdbcScan.java | 4 ++--
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildOutputPropertyDeriver.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildOutputPropertyDeriver.java
index 33df7657fa..e0b3e05a75 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildOutputPropertyDeriver.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildOutputPropertyDeriver.java
@@ -125,17 +125,27 @@ public class ChildOutputPropertyDeriver extends
PlanVisitor<PhysicalProperties,
@Override
public PhysicalProperties visitPhysicalEsScan(PhysicalEsScan esScan,
PlanContext context) {
- return PhysicalProperties.ANY;
+ return PhysicalProperties.STORAGE_ANY;
}
@Override
public PhysicalProperties visitPhysicalFileScan(PhysicalFileScan fileScan,
PlanContext context) {
- return PhysicalProperties.ANY;
+ return PhysicalProperties.STORAGE_ANY;
}
+ /**
+ * TODO return ANY after refactor coordinator
+ * return STORAGE_ANY not ANY, in order to generate distribute on jdbc
scan.
+ * select * from (select * from external.T) as A union all (select * from
external.T)
+ * if visitPhysicalJdbcScan returns ANY, the plan is
+ * union
+ * |--- JDBCSCAN
+ * +--- JDBCSCAN
+ * this breaks coordinator assumption that one fragment has at most only
one scan.
+ */
@Override
public PhysicalProperties visitPhysicalJdbcScan(PhysicalJdbcScan jdbcScan,
PlanContext context) {
- return PhysicalProperties.ANY;
+ return PhysicalProperties.STORAGE_ANY;
}
@Override
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 0b81c5f44b..d68a459bd3 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
@@ -48,8 +48,8 @@ public class PhysicalJdbcScan extends PhysicalCatalogRelation
{
*/
public PhysicalJdbcScan(RelationId id, TableIf table, List<String>
qualifier,
Optional<GroupExpression> groupExpression, LogicalProperties
logicalProperties, Set<Expression> conjuncts) {
- super(id, PlanType.PHYSICAL_JDBC_SCAN, table, qualifier,
groupExpression, logicalProperties);
- this.conjuncts = ImmutableSet.copyOf(Objects.requireNonNull(conjuncts,
"conjuncts should not be null"));
+ this(id, table, qualifier, groupExpression, logicalProperties,
+ null, null, conjuncts);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]