[fix](Nereids) extract complicated time string in evaluating cost model framework (#17864)

1. The time string in the profile can be "xx s xx ms". The framework should extract time with re package to support more complicated time string
2. Add stats for sortNode and AggNode in `withChildren`
This commit is contained in:
谢健
2023-04-07 15:33:04 +08:00
committed by GitHub
parent b0a13d019f
commit 63994e351f
4 changed files with 31 additions and 4 deletions

View File

@ -228,7 +228,9 @@ public class PhysicalHashAggregate<CHILD_TYPE extends Plan> extends PhysicalUnar
public PhysicalHashAggregate<Plan> withChildren(List<Plan> children) {
Preconditions.checkArgument(children.size() == 1);
return new PhysicalHashAggregate<>(groupByExpressions, outputExpressions, partitionExpressions,
aggregateParam, maybeUsingStream, getLogicalProperties(), requireProperties, children.get(0));
aggregateParam, maybeUsingStream, groupExpression, getLogicalProperties(),
requireProperties, physicalProperties, statistics,
children.get(0));
}
public PhysicalHashAggregate<CHILD_TYPE> withPartitionExpressions(List<Expression> partitionExpressions) {

View File

@ -75,7 +75,8 @@ public class PhysicalQuickSort<CHILD_TYPE extends Plan> extends AbstractPhysical
@Override
public PhysicalQuickSort<Plan> withChildren(List<Plan> children) {
Preconditions.checkArgument(children.size() == 1);
return new PhysicalQuickSort<>(orderKeys, phase, getLogicalProperties(), children.get(0));
return new PhysicalQuickSort<>(orderKeys, phase, groupExpression, getLogicalProperties(), physicalProperties,
statistics, children.get(0));
}
@Override

View File

@ -131,7 +131,9 @@ public class PhysicalStorageLayerAggregate extends PhysicalRelation {
@Override
public PhysicalPlan withPhysicalPropertiesAndStats(PhysicalProperties physicalProperties,
Statistics statistics) {
return new PhysicalStorageLayerAggregate(relation, aggOp, groupExpression,
return new PhysicalStorageLayerAggregate(
(PhysicalRelation) relation.withPhysicalPropertiesAndStats(null, statistics),
aggOp, groupExpression,
getLogicalProperties(), physicalProperties, statistics);
}