This is an automated email from the ASF dual-hosted git repository.
maxyang pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git
from d440c1765e Set fsync on because it is the value before the test
new da16ad1f20 Add Dynamic Partition Elimination for Hash Right Joins
new 1f4d412f54 Fix build error -- unused var (#15255)
new 40761e71af [ORCA] Alternative approach for comparison expression
reordering (#15242)
new 6297842c5f Don't penalize broadcast under LASJ (not in) in Orca
(#15240)
new 4eada4ed34 Implement Left Join Pruning ----------------------------
new 71bf73bee5 Allow queries with valid function variadic flag
new d51cc2d77c Check partition key opfamily in partition pruning (#15260)
new 1faf6252c4 Fix missing redistribute for CTAS/insert into randomly
distributed table using Orca (#15295)
new ebccd1f880 [ORCA] Support boolean static partition pruning (#15348)
new 08c1ee0d07 Update CDXLScalarArrayCoerceExpr to pass elemexpr
new 228d19ac77 Update Array Coerce Cast Metadata object
new 33b9cdd687 Update MDP tests and add test to ICG
new fa2bde2521 Update test description
new 6602921d38 Optimize ConstructRootColMappingPerPart for common case
new afdb7d8e81 Optimize Orca object serialization to be lazy
new effe9045a0 Optimize retrieving relation columns in Orca
new 6a4ea524dc Avoid multistage plans when data distribution is universal
or replicated (#15235)
new 811d64e659 Re-support Dynamic Partition Elimination with semi joins in
Orca (#15506)
new 3f2ddb5802 Remove remaining parts of unused function data access code
from Orca (#15519)
new 80f4b8e268 Fix various memory leaks in Orca
new 2bfac78e2c Marking the "PexprConvert2In" preprocessing step as
"unsupported for now"
new 3fb13c7cc6 [ORCA] Fix option to enable multi-distinct agg (#15445)
new 288b9d6da0 Fix ORCA build break (#15548)
new 60179b110b Support intermediate aggs in Orca plans (#13707)
new 87b3b32999 Fix crash of AggNode in executor casued by ORCA plan
(#14577)
new 609d876a5b Fix incorrect plan / output in multi stage agg
new 2bbaddcdb2 Fix bug of wrong idx position in targetlist as
ExecTupleSplit (#14954)
new 7bc6fd48e6 Fix wrong number of maxAttrNum in TupleSplitState (#14927)
new 62b695550f Adapting aggsplit in multi stage agg
new 44a249a8cf Fix: cherry-pick "Dynamic Partition Elimination, retrieving
relation columns, update tests, intermedia agg"
The 30 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
src/backend/executor/execExpr.c | 3 +-
src/backend/executor/nodeAgg.c | 16 +-
src/backend/executor/nodeTupleSplit.c | 18 +-
src/backend/gpopt/gpdbwrappers.cpp | 36 +-
.../gpopt/translate/CTranslatorDXLToPlStmt.cpp | 12 +-
.../gpopt/translate/CTranslatorDXLToScalar.cpp | 44 +-
.../gpopt/translate/CTranslatorQueryToDXL.cpp | 2 +
.../gpopt/translate/CTranslatorRelcacheToDXL.cpp | 127 +-
.../gpopt/translate/CTranslatorScalarToDXL.cpp | 55 +-
src/backend/gpopt/translate/CTranslatorUtils.cpp | 2 +
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q1.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q11.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q12.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q13.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q14.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q15.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q3.xml | 4 +-
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q4.xml | 4 +-
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q5.xml | 8 +-
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q6.xml | 8 +-
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q8.xml | 8 -
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q9.xml | 8 -
...nFunc-OuterRef-Partition-Order-Frames-Query.xml | 2 +-
.../WinFunc-OuterRef-Partition-Order-Query.xml | 14 +-
.../WinFunc-OuterRef-Partition-Query.xml | 14 +-
.../data/dxl/expressiontests/WinFunc-Tests-MD.xml | 2 +-
src/backend/gporca/data/dxl/metadata/md.xml | 62 +-
.../data/dxl/minidump/AggWithVolatileFunc.mdp | 2 +-
.../dxl/minidump/AggonExternalTableNoMotion.mdp | 2 +-
.../gporca/data/dxl/minidump/AggregateWithSkew.mdp | 2 +-
.../minidump/AllSubqueryWithSubqueryInScalar.mdp | 6 +-
.../minidump/AnyPredicate-Over-UnionOfConsts.mdp | 4 +-
.../AnySubq-With-NonScalarSubqueryChild-1.mdp | 4 +-
.../AnySubq-With-NonScalarSubqueryChild-2.mdp | 4 +-
.../AnySubq-With-NonScalarSubqueryChild-3.mdp | 6 +-
.../AnySubqueryWithAllSubqueryInScalar.mdp | 8 +-
.../minidump/AnySubqueryWithSubqueryInScalar.mdp | 14 +-
.../dxl/minidump/AnySubqueryWithVolatileComp.mdp | 2 +-
.../dxl/minidump/AnySubqueryWithVolatileFunc.mdp | 18 +-
.../gporca/data/dxl/minidump/ArrayCoerceCast.mdp | 25 +-
.../gporca/data/dxl/minidump/ArrayCoerceExpr.mdp | 12 +-
...ed-On-Outer.mdp => ArrayCoerceImplicitCast.mdp} | 313 ++--
.../gporca/data/dxl/minidump/AssertMaxOneRow.mdp | 2 +-
.../gporca/data/dxl/minidump/BRINScan-Or.mdp | 48 -
.../data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp | 12 -
.../BitmapIndexApply-Complex-Condition.mdp | 8 -
.../dxl/minidump/BitmapIndexApply-PartTable.mdp | 4 +-
.../minidump/BitmapIndexNLOJWithProjectNonPart.mdp | 8 -
.../data/dxl/minidump/BitmapIndexScanCost.mdp | 2 +-
.../minidump/BtreeIndexNLJWithProjectNoPart.mdp | 8 -
.../NoOpMotionUsesOnlyGroupOutputColumns.mdp | 2 +-
.../AggTopOfMultipleSetRetFuncs.mdp | 67 +-
.../AggTopOfMultipleSetRetFuncsAndUnusedScalar.mdp | 55 +-
.../AggTopOfSetRefFuncsOnTopTbl.mdp | 8 +-
.../AggTopOfSetRetFuncsAndUnusedScalar.mdp | 4 +-
.../AggTopOfSingleSetRetFuncs.mdp | 4 +-
.../dxl/minidump/CPruneColumnsTest/AllColsUsed.mdp | 8 +-
.../MultiLevelSubqueryWithSetRetFuncs.mdp | 8 +-
...iLevelSubqueryWithSetRetFuncsAndScalarFuncs.mdp | 8 +-
.../PruneIntermediateUnusedColumns.mdp | 2 +-
.../UnusedSetRetFuncAndUsedScalarFunc.mdp | 8 +-
.../UsedSetRetFuncAndUnusedScalarFunc.mdp | 8 +-
.../gporca/data/dxl/minidump/CSQ-VolatileTVF.mdp | 2 +-
.../dxl/minidump/CTAS-With-Global-Local-Agg.mdp | 2 +-
.../gporca/data/dxl/minidump/CTAS-random-distr.mdp | 319 ++++
.../dxl/minidump/CTAS_OrderedAgg_multiple_cols.mdp | 4 +-
src/backend/gporca/data/dxl/minidump/CTE-1.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/CTE-2.mdp | 2 +-
.../data/dxl/minidump/CTE-NoPushProperties.mdp | 74 +-
.../gporca/data/dxl/minidump/CTE-PartTbl.mdp | 4 +-
.../gporca/data/dxl/minidump/CTE-volatile.mdp | 2 +-
.../data/dxl/minidump/CTE-with-random-filter.mdp | 4 +-
.../dxl/minidump/CTEMisAlignedProducerConsumer.mdp | 24 +
.../data/dxl/minidump/CTEWithMergedGroup.mdp | 2 +-
.../data/dxl/minidump/CTEWithVolatileFunction.mdp | 2 +-
.../data/dxl/minidump/CannotPullGrpColAboveAgg.mdp | 4 +-
.../gporca/data/dxl/minidump/CastOnSubquery.mdp | 6 +-
.../data/dxl/minidump/CastedInClauseWithMCV.mdp | 4 +-
.../data/dxl/minidump/Coalesce-With-Subquery.mdp | 6 +-
.../gporca/data/dxl/minidump/CoerceToDomain.mdp | 8 +-
.../gporca/data/dxl/minidump/CollapseNot.mdp | 16 +-
.../minidump/CollapseProject-SetReturning-CTE.mdp | 2 +-
.../dxl/minidump/CollapseProject-SetReturning.mdp | 2 +-
.../data/dxl/minidump/CompositeTypeRelMdId.mdp | 2 +-
.../minidump/CorrelatedIN-LeftSemiJoin-Limit.mdp | 2 +-
.../minidump/CorrelatedIN-LeftSemiJoin-True.mdp | 2 +-
.../minidump/CorrelatedLeftSemiNLJoinWithLimit.mdp | 2 +-
.../minidump/CorrelatedNLJWithStreamingSpool.mdp | 4 +-
.../minidump/CorrelatedNLJWithTrueCondition.mdp | 2 +-
.../CorrelatedSubqueryWithAggWindowFunc.mdp | 4 +-
.../dxl/minidump/Correlation-With-Casting-1.mdp | 6 +-
.../dxl/minidump/Correlation-With-Casting-2.mdp | 4 +-
.../minidump/DML-ComputeScalar-With-Outerref.mdp | 2 +-
.../data/dxl/minidump/DML-Filter-With-OuterRef.mdp | 2 +-
.../data/dxl/minidump/DML-Replicated-Input.mdp | 4 +-
.../dxl/minidump/DML-UnionAll-With-OuterRef.mdp | 2 +-
.../data/dxl/minidump/DML-Volatile-Function.mdp | 2 +-
...e-1.mdp => DML-With-CoordinatorOnlyTable-1.mdp} | 8 +-
...DML-With-CorrelatedNLJ-With-Universal-Child.mdp | 2 +-
.../dxl/minidump/DML-With-WindowFunc-OuterRef.mdp | 12 +-
.../data/dxl/minidump/DMLCollapseProject.mdp | 2 +-
.../gporca/data/dxl/minidump/DPE-SemiJoin.mdp | 12 +-
.../dxl/minidump/DPE-with-unsupported-pred.mdp | 2 +-
.../gporca/data/dxl/minidump/DQA-1-RegularAgg.mdp | 2 +-
.../gporca/data/dxl/minidump/DQA-2-RegularAgg.mdp | 2 +-
.../dxl/minidump/DQA-NonRedistributableCol.mdp | 4 +-
.../gporca/data/dxl/minidump/DQA-SplitScalar.mdp | 2 +-
.../data/dxl/minidump/DQA-SplitScalarOnDistCol.mdp | 2 +-
.../dxl/minidump/DQA-SplitScalarWithAggAndGuc.mdp | 2 +-
.../data/dxl/minidump/DQA-SplitScalarWithGuc.mdp | 2 +-
.../data/dxl/minidump/Date-TimeStamp-HashJoin.mdp | 10 +-
.../dxl/minidump/Delete-With-Limit-In-Subquery.mdp | 4 +-
.../data/dxl/minidump/DirectDispatch-IndexScan.mdp | 8 -
...rectDispatch-SingleCol-Disjunction-Negative.mdp | 8 -
.../minidump/DontAddRedistributeBeforeInsert-1.mdp | 2 +-
.../gporca/data/dxl/minidump/DqaHavingMax.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/DqaMax.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/DqaMin.mdp | 2 +-
.../gporca/data/dxl/minidump/DqaNoRedistribute.mdp | 2 +-
.../gporca/data/dxl/minidump/DqaSubqueryMax.mdp | 2 +-
.../data/dxl/minidump/DynamicBitmapBoolOp.mdp | 6 +-
.../DynamicBitmapTableScan-Heterogeneous.mdp | 4 +-
.../dxl/minidump/DynamicIndexScan-BoolFalse.mdp | 4 +-
.../dxl/minidump/DynamicIndexScan-BoolTrue.mdp | 4 +-
.../DynamicIndexScan-DefaultPartition-2.mdp | 6 +-
.../minidump/DynamicIndexScan-DefaultPartition.mdp | 4 +-
.../minidump/DynamicIndexScan-DroppedColumns.mdp | 4 +-
...ndexScan-Heterogenous-EnabledDateConstraint.mdp | 6 +-
.../DynamicIndexScan-Heterogenous-NoDTS.mdp | 4 +-
.../DynamicIndexScan-Heterogenous-Overlapping.mdp | 4 +-
...icIndexScan-Heterogenous-PartSelectEquality.mdp | 4 +-
...namicIndexScan-Heterogenous-PartSelectRange.mdp | 4 +-
...ndexScan-Heterogenous-UnsupportedConstraint.mdp | 4 +-
...IndexScan-Heterogenous-UnsupportedPredicate.mdp | 4 +-
.../dxl/minidump/DynamicIndexScan-Heterogenous.mdp | 4 +-
...cIndexScan-Homogenous-EnabledDateConstraint.mdp | 6 +-
...cIndexScan-Homogenous-UnsupportedConstraint.mdp | 6 +-
.../DynamicIndexScan-OpenEndedPartitions.mdp | 4 +-
.../data/dxl/minidump/DynamicIndexScan-Relabel.mdp | 4 +-
.../data/dxl/minidump/EagerAggEmptyInput.mdp | 2 +-
.../dxl/minidump/EagerAggGroupColumnInJoin.mdp | 2 +-
.../gporca/data/dxl/minidump/EagerAggMax.mdp | 2 +-
.../dxl/minidump/EagerAggMaxWithNestedLoop.mdp | 2 +-
.../gporca/data/dxl/minidump/EagerAggSubquery.mdp | 2 +-
.../data/dxl/minidump/EagerAggUnsupportedAgg.mdp | 4 +-
.../data/dxl/minidump/EffectOfLocalPredOnJoin2.mdp | 178 +-
.../data/dxl/minidump/EffectOfLocalPredOnJoin3.mdp | 4 +-
.../data/dxl/minidump/EquiJoinOnExpr-Supported.mdp | 6 +-
.../dxl/minidump/EquiJoinOnExpr-Unsupported.mdp | 2 +-
.../data/dxl/minidump/EquivClassesIntersect.mdp | 2 +-
.../gporca/data/dxl/minidump/EquivClassesLimit.mdp | 8 -
.../Equivalence-class-project-over-LOJ.mdp | 2 +-
.../data/dxl/minidump/Except-Volatile-Func.mdp | 2 +-
.../dxl/minidump/ExceptAllCompatibleDataType.mdp | 6 +-
.../ExistentialSubquriesInsideScalarExpression.mdp | 2 +-
.../gporca/data/dxl/minidump/ExpandJoinOrder.mdp | 2 +-
.../data/dxl/minidump/ExtractPredicateFromDisj.mdp | 14 +-
...ExtractPredicateFromDisjWithComputedColumns.mdp | 8 -
.../FullJoin-Subquery-CastedPredicates.mdp | 4 +-
.../dxl/minidump/FullJoin-SubquerySingleton.mdp | 2 +-
.../minidump/FullJoin-SubqueryWithRedistribute.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/GinIndex.mdp | 2 +-
.../data/dxl/minidump/GinIndexPathOpfamily.mdp | 2 +-
.../data/dxl/minidump/GinIndexSearchModeAll.mdp | 2 +-
.../Gist-NestedLoopJoin-Postgis-IndexPlan.mdp | 2 +-
.../gporca/data/dxl/minidump/GroupByOuterRef.mdp | 12 +-
.../data/dxl/minidump/GroupingOnSameTblCol-1.mdp | 2 +-
.../data/dxl/minidump/GroupingOnSameTblCol-2.mdp | 6 +-
.../dxl/minidump/HAWQ-TPCH-Stat-Derivation.mdp | 4 +-
.../gporca/data/dxl/minidump/HJN-DeeperOuter.mdp | 31 +-
.../dxl/minidump/HJN-Redistribute-One-Side.mdp | 4 +-
.../gporca/data/dxl/minidump/IN-Numeric.mdp | 2 +-
.../gporca/data/dxl/minidump/InClauseWithMCV.mdp | 2 +-
...InSubqWithPrjListOuterRefNoInnerRefColumnIn.mdp | 2 +-
...hPrjListOuterRefNoInnerRefColumnPlusConstIn.mdp | 2 +-
.../InSubqWithPrjListOuterRefNoInnerRefConstIn.mdp | 2 +-
.../data/dxl/minidump/InSubqueryWithNotNullCol.mdp | 2 +-
.../dxl/minidump/IndexApply-Heterogeneous-DTS.mdp | 4 +-
.../minidump/IndexApply-Heterogeneous-NoDTS.mdp | 4 +-
.../IndexApply-InnerSelect-Heterogeneous-DTS.mdp | 4 +-
.../minidump/IndexApply-InnerSelect-PartTable.mdp | 4 +-
.../minidump/IndexApply-InnerSelect-PartTable2.mdp | 4 +-
...pply-MultiDistKeys-IncompletePDS-3-DistCols.mdp | 8 -
.../dxl/minidump/IndexApply-PartResolverExpand.mdp | 4 +-
.../data/dxl/minidump/IndexApply-PartTable.mdp | 4 +-
...verlappingHeterogenousIndex-ANDPredicate-AO.mdp | 12 -
...rlappingHeterogenousIndex-ANDPredicate-HEAP.mdp | 12 -
...pingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp | 12 -
...ppingHomogenousIndexesOnRoot-ORPredicate-AO.mdp | 12 -
...OverlappingHeterogenousIndex-ORPredicate-AO.mdp | 12 -
...pingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp | 12 -
...ppingHomogenousIndexesOnRoot-ORPredicate-AO.mdp | 12 -
.../gporca/data/dxl/minidump/IndexScan-AndedIn.mdp | 12 -
.../data/dxl/minidump/IndexScan-ORPredsAOPart.mdp | 12 -
.../minidump/IndexScanWithNestedCTEAndSetOp.mdp | 2 +-
.../gporca/data/dxl/minidump/InferPredicates.mdp | 2 +-
.../data/dxl/minidump/InferPredicatesForLimit.mdp | 12 -
.../data/dxl/minidump/InferPredicatesForPartSQ.mdp | 12 -
.../minidump/InferPredicatesForQuantifiedSQ.mdp | 2 +-
.../minidump/InferPredicatesFromExistsSubquery.mdp | 12 -
.../dxl/minidump/InferPredicatesJoinSubquery.mdp | 12 -
.../dxl/minidump/InferPredicatesMultiColumns.mdp | 12 -
.../InferredPredicatesConstraintSimplification.mdp | 2 +-
.../dxl/minidump/InnerJoinOverJoinExceptAll.mdp | 2 +-
.../data/dxl/minidump/Insert-With-HJ-CTE-Agg.mdp | 6 +-
.../minidump/InsertConstTupleVolatileFunction.mdp | 4 +-
.../InsertConstTupleVolatileFunctionMOTable.mdp | 4 +-
.../minidump/InsertMismatchedDistrubution-2.mdp | 2 +-
.../dxl/minidump/InsertMismatchedDistrubution.mdp | 2 +-
...ertReplicatedIntoSerialHashDistributedTable.mdp | 2 +-
.../data/dxl/minidump/Intersect-OuterRefs.mdp | 2 +-
.../data/dxl/minidump/Intersect-Volatile-Func.mdp | 2 +-
.../data/dxl/minidump/InvalidDeleteGather.mdp | 2 +-
.../dxl/minidump/InvalidPlan_CTE-2-all-plans.mdp | 2 +-
.../data/dxl/minidump/JOIN-Pred-Cast-Int4.mdp | 2 +-
.../JOIN-cast2text-int4-Eq-cast2text-double.mdp | 4 +-
.../data/dxl/minidump/JOIN-int4-Eq-double.mdp | 2 +-
.../gporca/data/dxl/minidump/JOIN-int4-Eq-int2.mdp | 2 +-
.../gporca/data/dxl/minidump/Join-Disj-Subqs.mdp | 8 +-
.../data/dxl/minidump/Join-Varchar-Equality.mdp | 6 +-
.../data/dxl/minidump/Join-With-Subq-Preds-1.mdp | 2 +-
.../data/dxl/minidump/Join-With-Subq-Preds-2.mdp | 2 +-
.../dxl/minidump/JoinOnViewWithCastedColumn.mdp | 2 +-
...nViewWithCastedColumnAndSubqueryInPredicate.mdp | 2 +-
...ewWithMixOfPushableAndNonpushablePredicates.mdp | 4 +-
.../minidump/JoinOnViewWithSetReturningColumn.mdp | 2 +-
.../dxl/minidump/JoinOnViewWithVolatileColumn.mdp | 4 +-
.../dxl/minidump/JoinWithSubqueryProjectColumn.mdp | 4 +-
.../dxl/minidump/Join_OuterChild_DistUniversal.mdp | 10 +-
...nClause.mdp => LASJ-Not-In-Force-Broadcast.mdp} | 354 ++--
.../dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp | 16 -
.../LOJNullRejectingZeroPlacePredicates.mdp | 2 +-
.../gporca/data/dxl/minidump/LOJ_bb_mpph.mdp | 2 +-
.../LOJ_convert_to_inner_with_and_predicate.mdp | 2 +-
.../LOJ_convert_to_inner_with_or_predicate.mdp | 2 +-
.../gporca/data/dxl/minidump/Lead-Lag-WinFuncs.mdp | 4 +-
.../data/dxl/minidump/LeftJoin-With-Coalesce.mdp | 2 +-
.../dxl/minidump/LeftJoin-With-Col-Const-Pred.mdp | 2 +-
.../dxl/minidump/LeftJoin-With-Pred-On-Inner2.mdp | 8 -
...T-On-SelfCheck-Pred.mdp => LeftJoinPruning.mdp} | 388 ++--
...PE.mdp => LeftJoinPruningInOuterInnerQuery.mdp} | 740 ++++----
.../dxl/minidump/LeftJoinPruningInnerQuery.mdp | 603 +++++++
...ruJoin-14.mdp => LeftJoinPruningOuterQuery.mdp} | 478 ++---
.../dxl/minidump/LikePredStatsNotComparable.mdp | 2 +-
.../data/dxl/minidump/ListPartLossyCastEq.mdp | 2 +-
.../data/dxl/minidump/ListPartLossyCastLT.mdp | 2 +-
.../data/dxl/minidump/ListPartLossyCastNEq.mdp | 2 +-
.../dxl/minidump/LogicalIndexGetDroppedCols.mdp | 17 -
.../data/dxl/minidump/MDQA-SameDQAColumn.mdp | 26 +-
.../data/dxl/minidump/MDQAs-Grouping-OrderBy.mdp | 405 ++++-
.../gporca/data/dxl/minidump/MDQAs-Grouping.mdp | 377 +++-
.../gporca/data/dxl/minidump/MDQAs-Union.mdp | 808 +++++++--
src/backend/gporca/data/dxl/minidump/MDQAs1.mdp | 379 +++-
.../gporca/data/dxl/minidump/MS-UnionAll-1.mdp | 2 +-
.../gporca/data/dxl/minidump/MS-UnionAll-2.mdp | 2 +-
.../gporca/data/dxl/minidump/MS-UnionAll-4.mdp | 2 +-
.../gporca/data/dxl/minidump/MS-UnionAll-5.mdp | 2 +-
.../gporca/data/dxl/minidump/MS-UnionAll-6.mdp | 2 +-
.../gporca/data/dxl/minidump/MS-UnionAll-7.mdp | 2 +-
.../data/dxl/minidump/MissingBoolColStats.mdp | 2 +-
...otionHazard-NoMaterializeHashAggUnderResult.mdp | 2 +-
.../dxl/minidump/MultiLevel-CorrelatedExec.mdp | 2 +-
.../data/dxl/minidump/MultiLevel-IN-Subquery.mdp | 2 +-
.../dxl/minidump/MultiLevelPartLossyCastNEq.mdp | 2 +-
.../data/dxl/minidump/MultipleIndexPredicate.mdp | 12 -
.../minidump/MultipleSetReturningFunction-1.mdp | 4 +-
.../minidump/MultipleSetReturningFunction-2.mdp | 2 +-
.../minidump/MultipleSetReturningFunction-3.mdp | 2 +-
.../minidump/MultipleSubqueriesInSelectClause.mdp | 6 +-
.../data/dxl/minidump/NLJ-Rewindability-CTAS.mdp | 4 +-
.../gporca/data/dxl/minidump/NLJ-Rewindability.mdp | 4 +-
.../NestedInSubqWithPrjListOuterRefNoInnerRef.mdp | 2 +-
.../dxl/minidump/NestedNLJWithBlockingSpool.mdp | 4 +-
.../data/dxl/minidump/NestedSubqLimitBindings.mdp | 2 +-
.../dxl/minidump/NoHashAggWithoutPrelimFunc.mdp | 2 +-
.../data/dxl/minidump/NoPartPropagationPlan.mdp | 4 +-
.../minidump/NoPushdownPredicateWithCTEAnchor.mdp | 2 +-
.../data/dxl/minidump/NoRedistributeOnAppend.mdp | 2 +-
.../data/dxl/minidump/Non-Hashjoinable-Pred.mdp | 2 +-
...ngHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp | 12 -
.../NotWellDefinedDisjunctConjunctPredicates.mdp | 18 +-
.../data/dxl/minidump/OneLevel-CorrelatedExec.mdp | 2 +-
.../gporca/data/dxl/minidump/OrderByOuterRef.mdp | 2 +-
.../dxl/minidump/OrderedAgg_array_fraction.mdp | 2 +-
.../data/dxl/minidump/OrderedAgg_computed_col.mdp | 2 +-
.../dxl/minidump/OrderedAgg_multiple_diffcol.mdp | 4 +-
.../dxl/minidump/OrderedAgg_multiple_samecol.mdp | 2 +-
.../OrderedAgg_multiple_samecol_difforderespec.mdp | 2 +-
.../gporca/data/dxl/minidump/OrderedAgg_single.mdp | 2 +-
.../data/dxl/minidump/OrderedAgg_skewed_data.mdp | 4 +-
.../data/dxl/minidump/OrderedAgg_with_groupby.mdp | 2 +-
.../dxl/minidump/OrderedAgg_with_nonOrderedAgg.mdp | 4 +-
.../minidump/OrderedAgg_with_nonconst_fraction.mdp | 8 +-
.../minidump/OuterJoinOnViewWithCastedColumn.mdp | 2 +-
...ngHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp | 12 -
.../data/dxl/minidump/PartPredsWithRandom.mdp | 2 +-
.../PartTbl-AggWithExistentialSubquery.mdp | 2 +-
.../gporca/data/dxl/minidump/PartTbl-ArrayIn.mdp | 4 +-
.../minidump/PartTbl-AsymmetricRangePredicate.mdp | 4 +-
.../data/dxl/minidump/PartTbl-CSQ-NonPartKey.mdp | 4 +-
.../data/dxl/minidump/PartTbl-CSQ-PartKey.mdp | 4 +-
.../PartTbl-ComplexRangePredicate-DefaultPart.mdp | 4 +-
...PartTbl-ComplexRangePredicate-NoDefaultPart.mdp | 4 +-
.../data/dxl/minidump/PartTbl-DPE-GroupBy.mdp | 108 +-
.../gporca/data/dxl/minidump/PartTbl-DPE-Limit.mdp | 4 +-
...oreignMixedDPE.mdp => PartTbl-DPE-Opfamily.mdp} | 489 ++---
.../dxl/minidump/PartTbl-DPE-WindowFunction.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-DPE.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-DTS.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-DTSEq.mdp | 4 +-
.../data/dxl/minidump/PartTbl-DTSLessThan.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-DateTime.mdp | 4 +-
.../dxl/minidump/PartTbl-DisablePartSelection.mdp | 4 +-
.../minidump/PartTbl-DisablePartSelectionJoin.mdp | 4 +-
.../data/dxl/minidump/PartTbl-Disjunction.mdp | 4 +-
.../minidump/PartTbl-EqPredicateWithCastRange.mdp | 2 +-
.../gporca/data/dxl/minidump/PartTbl-HJ1.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-HJ2.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-HJ3.mdp | 6 +-
.../gporca/data/dxl/minidump/PartTbl-HJ4.mdp | 6 +-
.../gporca/data/dxl/minidump/PartTbl-HJ5.mdp | 6 +-
.../data/dxl/minidump/PartTbl-IDFWithCast.mdp | 2 +-
.../data/dxl/minidump/PartTbl-IsNullPredicate.mdp | 24 -
.../data/dxl/minidump/PartTbl-JoinOverExcept.mdp | 4 +-
.../data/dxl/minidump/PartTbl-JoinOverGbAgg-2.mdp | 4 +-
.../data/dxl/minidump/PartTbl-JoinOverGbAgg.mdp | 6 +-
.../dxl/minidump/PartTbl-JoinOverIntersect.mdp | 4 +-
.../data/dxl/minidump/PartTbl-JoinOverUnion-1.mdp | 4 +-
.../data/dxl/minidump/PartTbl-JoinOverUnion-2.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-LASJ.mdp | 4 +-
.../data/dxl/minidump/PartTbl-MultiWayJoin.mdp | 2 +-
.../dxl/minidump/PartTbl-MultiWayJoinWithDPE-2.mdp | 6 +-
.../dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp | 14 +-
.../dxl/minidump/PartTbl-MultipleEqPredicates.mdp | 4 +-
.../data/dxl/minidump/PartTbl-NEqPredicate.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-NLJ.mdp | 4 +-
.../data/dxl/minidump/PartTbl-NonConstSelect.mdp | 4 +-
.../dxl/minidump/PartTbl-PredicateWithCast.mdp | 2 +-
.../dxl/minidump/PartTbl-PredicateWithCastList.mdp | 2 +-
.../PartTbl-PredicateWithCastMultiLevelList.mdp | 2 +-
.../data/dxl/minidump/PartTbl-RangeJoinPred.mdp | 6 +-
.../data/dxl/minidump/PartTbl-Relabel-Equality.mdp | 4 +-
.../data/dxl/minidump/PartTbl-Relabel-Range.mdp | 4 +-
...> PartTbl-RightOuterHashJoin-DPE-IsNull-V2.mdp} | 422 +++--
...eignUniformSPE.mdp => PartTbl-SPE-Boolean1.mdp} | 234 ++-
...us-Partitioned.mdp => PartTbl-SPE-Boolean2.mdp} | 239 ++-
.../PartTbl-SPE-DynamicTableScan-Range-Cost3.mdp | 24 -
.../gporca/data/dxl/minidump/PartTbl-SQAll.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-SQAny.mdp | 19 +-
.../gporca/data/dxl/minidump/PartTbl-SQExists.mdp | 4 +-
.../data/dxl/minidump/PartTbl-SQNotExists.mdp | 4 +-
.../gporca/data/dxl/minidump/PartTbl-SQScalar.mdp | 4 +-
.../data/dxl/minidump/PartTbl-SubqueryOuterRef.mdp | 2 +-
.../data/dxl/minidump/PartTbl-VolatileFunc.mdp | 8 +-
.../PartTbl-WindowFuncNoDisjunctPredPushDown.mdp | 2 +-
.../minidump/PartTbl-WindowFuncNoPredPushDown.mdp | 2 +-
.../PartTbl-WindowFuncPartialPredPushDown.mdp | 2 +-
.../minidump/PartTbl-WindowFuncPredPushDown.mdp | 2 +-
.../PartTbl-WindowFuncSinglePredPushDown.mdp | 2 +-
.../data/dxl/minidump/PartTbl-WindowFunction.mdp | 4 +-
.../data/dxl/minidump/PredStatsNotComparable.mdp | 2 +-
.../data/dxl/minidump/Preds-Over-WinFunc1.mdp | 4 +-
.../data/dxl/minidump/Preds-Over-WinFunc2.mdp | 4 +-
.../data/dxl/minidump/Preds-Over-WinFunc3.mdp | 4 +-
.../data/dxl/minidump/Preds-Over-WinFunc4.mdp | 4 +-
.../data/dxl/minidump/Preds-Over-WinFunc5.mdp | 4 +-
.../dxl/minidump/Project-With-NonScalar-Func.mdp | 8 +-
.../data/dxl/minidump/ProjectSetFunction.mdp | 2 +-
.../gporca/data/dxl/minidump/ProjectUnderSubq.mdp | 2 +-
.../data/dxl/minidump/Push-Subplan-Below-Union.mdp | 2 +-
.../PushConstantSelectPredicateThruJoin-13.mdp | 2 +-
.../PushConstantSelectPredicateThruJoin-14.mdp | 2 +-
.../PushConstantSelectPredicateThruJoin-15.mdp | 2 +-
... => PushConstantSelectPredicateThruJoin-16.mdp} | 176 +-
... => PushConstantSelectPredicateThruJoin-17.mdp} | 167 +-
.../PushConstantSelectPredicateThruJoin-7.mdp | 2 +-
.../dxl/minidump/PushFilterToSemiJoinLeftChild.mdp | 8 -
.../dxl/minidump/PushGbBelowJoin-NegativeCase.mdp | 10 +-
.../dxl/minidump/PushSelectDownUnionAllOfCTG.mdp | 2 +-
.../minidump/PushSelectWithOuterRefBelowUnion.mdp | 14 +-
...ueryMismatchedDistribution-DynamicIndexScan.mdp | 6 +-
.../dxl/minidump/QueryMismatchedDistribution.mdp | 6 +-
.../RangePartLossyCastEqInPartitionRange.mdp | 2 +-
.../RangePartLossyCastEqOnEndPartitionRange.mdp | 2 +-
.../RangePartLossyCastLTEqInPartitionRange.mdp | 2 +-
.../RangePartLossyCastLTEqOnEndPartitionRange.mdp | 2 +-
.../RangePartLossyCastLTInPartitionRange.mdp | 2 +-
.../RangePartLossyCastLTOnEndPartitionRange.mdp | 2 +-
.../dxl/minidump/Remove-Distinct-From-Subquery.mdp | 2 +-
.../data/dxl/minidump/RemoveUnusedProjElements.mdp | 4 +-
.../data/dxl/minidump/ReplicatedTable-CTAS.mdp | 2 +-
.../data/dxl/minidump/ReplicatedTableAggregate.mdp | 2 +-
.../data/dxl/minidump/ReplicatedTableGroupBy.mdp | 70 +-
.../data/dxl/minidump/ReplicatedTableInClause.mdp | 4 +-
.../data/dxl/minidump/ReplicatedTableInsert.mdp | 2 +-
.../dxl/minidump/ReplicatedTableSequenceInsert.mdp | 4 +-
.../minidump/ReplicatedTableWithAggNoMotion.mdp | 2 +-
.../gporca/data/dxl/minidump/RightJoinDPE.mdp | 1900 ++++++++++++++++++++
.../gporca/data/dxl/minidump/RightJoinDPS.mdp | 493 -----
...ibution.mdp => RightJoinDpeWithWhereClause.mdp} | 739 ++++----
.../gporca/data/dxl/minidump/RightJoinTVF.mdp | 2 +-
.../dxl/minidump/ScalarDQAWithNonScalarAgg.mdp | 2 +-
.../dxl/minidump/ScalarFuncPushedBelowGather.mdp | 2 +-
.../data/dxl/minidump/ScalarSubq-Eq-SubqAll-1.mdp | 2 +-
.../data/dxl/minidump/ScalarSubq-Eq-SubqAll-2.mdp | 2 +-
.../data/dxl/minidump/Select-Over-PartTbl.mdp | 4 +-
.../data/dxl/minidump/Select-Proj-OuterJoin.mdp | 4 +-
.../gporca/data/dxl/minidump/SemiJoinDPE.mdp | 1333 ++++++++++++++
.../minidump/SemiJoinWithWindowsFuncInSubquery.mdp | 12 +-
.../dxl/minidump/Sequence-With-Universal-Outer.mdp | 2 +-
.../data/dxl/minidump/SimpleArrayCoerceCast.mdp | 25 +-
.../dxl/minidump/SimplifyExistsSubquery2Limit.mdp | 2 +-
.../gporca/data/dxl/minidump/SqlFuncDmlScalar.mdp | 2 +-
.../gporca/data/dxl/minidump/SqlFuncDmlTvf.mdp | 2 +-
.../gporca/data/dxl/minidump/SqlFuncNullReject.mdp | 2 +-
.../data/dxl/minidump/SqlFuncPredFactorize.mdp | 2 +-
.../dxl/minidump/Stat-Derivation-Leaf-Pattern.mdp | 10 +-
.../minidump/Stats-For-Select-With-Outer-Refs.mdp | 8 +-
.../minidump/StatsFilter-AnyWithNewColStats.mdp | 2 +-
.../data/dxl/minidump/Subq-JoinWithOuterRef.mdp | 2 +-
.../gporca/data/dxl/minidump/Subq-NoParams.mdp | 4 +-
.../data/dxl/minidump/Subq-With-OuterRefCol.mdp | 2 +-
.../data/dxl/minidump/Subq2NotInWhereLOJ.mdp | 10 +-
.../data/dxl/minidump/Subq2OuterRef2InJoin.mdp | 8 -
.../dxl/minidump/Subq2OuterRefMultiLevelInOn.mdp | 8 -
.../data/dxl/minidump/Subq2PartialDecorrelate.mdp | 8 -
.../minidump/SubqAll-InsideScalarExpression.mdp | 6 +-
.../data/dxl/minidump/SubqAll-To-ScalarSubq.mdp | 4 +-
.../minidump/SubqAny-InsideScalarExpression.mdp | 4 +-
.../minidump/SubqExists-With-External-Corrs.mdp | 2 +-
.../minidump/SubqExists-Without-External-Corrs.mdp | 2 +-
.../gporca/data/dxl/minidump/SubqInIndexPred.mdp | 2 +-
.../dxl/minidump/Subquery-AnyAllAggregates.mdp | 4 +-
.../dxl/minidump/Subquery-ExistsAllAggregates.mdp | 4 +-
.../Subquery-ExistsAllAggregatesWithDisjuncts.mdp | 4 +-
.../data/dxl/minidump/SubqueryInsideScalarIf.mdp | 4 +-
.../SubqueryNoPullUpTableValueFunction.mdp | 69 +-
.../gporca/data/dxl/minidump/SubqueryNullTest.mdp | 2 +-
.../data/dxl/minidump/SubqueryOuterRefLimit.mdp | 2 +-
.../data/dxl/minidump/SubqueryOuterRefTVF.mdp | 2 +-
.../data/dxl/minidump/TPCH-Partitioned-256GB.mdp | 4 +-
.../data/dxl/minidump/TVF-With-Deep-Subq-Args.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/TVF.mdp | 2 +-
.../gporca/data/dxl/minidump/TVFAnyelement.mdp | 2 +-
.../data/dxl/minidump/TVFCorrelatedExecution.mdp | 2 +-
.../gporca/data/dxl/minidump/TVFGenerateSeries.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/TVFRandom.mdp | 2 +-
.../gporca/data/dxl/minidump/TVFVolatileJoin.mdp | 2 +-
.../data/dxl/minidump/TaintedReplicatedFilter.mdp | 4 +-
.../dxl/minidump/TaintedReplicatedTablesCTE.mdp | 2 +-
.../data/dxl/minidump/TimeStamp-Date-HashJoin.mdp | 10 +-
.../data/dxl/minidump/Tpcds-NonPart-Q70a.mdp | 2 +-
.../dxl/minidump/TranslateFilterDisjunctQuals.mdp | 4 +-
...thCTEAndTableScanIntoFilterAndOneTimeFilter.mdp | 4 +-
.../TranslateOneTimeFilterConjunctQuals.mdp | 4 +-
.../gporca/data/dxl/minidump/TypeModifierCast.mdp | 2 +-
.../dxl/minidump/Union-NOT-Plus-OR-Constraint.mdp | 2 +-
.../minidump/Union-OuterRefs-Casting-Output.mdp | 21 +-
.../dxl/minidump/Union-OuterRefs-InnerChild.mdp | 2 +-
.../data/dxl/minidump/Union-OuterRefs-Output.mdp | 2 +-
.../data/dxl/minidump/Union-Over-UnionAll.mdp | 2 +-
.../data/dxl/minidump/Union-Volatile-Func.mdp | 2 +-
.../dxl/minidump/UnionAllCompatibleDataType.mdp | 4 +-
.../data/dxl/minidump/UnionWithOuterRefs.mdp | 2 +-
.../gporca/data/dxl/minidump/UnnestSQJoins.mdp | 8 -
.../gporca/data/dxl/minidump/UpdateDroppedCols.mdp | 6 +-
.../gporca/data/dxl/minidump/UpdatePartTable.mdp | 6 +-
.../data/dxl/minidump/UpdateUniqueConstraint-2.mdp | 2 +-
.../data/dxl/minidump/UpdateVolatileFunction.mdp | 4 +-
.../gporca/data/dxl/minidump/UpdateZeroRows.mdp | 4 +-
.../dxl/minidump/UpdatingDistributionColumn.mdp | 2 +-
.../minidump/UpdatingNonDistributionColumnFunc.mdp | 2 +-
...tributionSatisfactionForUniversalInnerChild.mdp | 2 +-
.../dxl/minidump/VariadicFlagWithFormatQuery.mdp | 138 ++
...-Pred-On-Outer.mdp => VariadicFlagWithJson.mdp} | 268 ++-
.../{CTG-Join.mdp => VariadicFlagWithUnionAll.mdp} | 102 +-
.../minidump/VolatileFunctionsBelowScalarAgg.mdp | 2 +-
.../WinFunc-Redistribute-Sort-CTE-Producer.mdp | 6 +-
.../gporca/data/dxl/minidump/WinFunc-Simple.mdp | 2 +-
.../gporca/data/dxl/minidump/WindowFrameGroups.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/retail_28.mdp | 8 +-
.../data/dxl/parse_tests/q14-FuncExpr-NoArg.xml | 2 +-
.../data/dxl/parse_tests/q15-FuncExpr-WithArgs.xml | 2 +-
.../q16-FuncExpr-WithNestedFuncExpr.xml | 6 +-
.../gporca/data/dxl/parse_tests/q26-Metadata.xml | 19 +-
.../data/dxl/parse_tests/q31-LogicalLimit.xml | 6 +-
.../gporca/data/dxl/parse_tests/q69-ArrayRef2.xml | 4 +-
.../data/dxl/parse_tests/s02-NestedFuncExpr.xml | 6 +-
.../gporca/data/dxl/tpch/q1-partitioned.mdp | 6 +-
src/backend/gporca/data/dxl/tpch/q11.mdp | 2 +-
src/backend/gporca/data/dxl/tpch/q20.mdp | 2 +-
src/backend/gporca/data/dxl/tpch/q22.mdp | 4 +-
src/backend/gporca/data/dxl/tpch/q7.mdp | 4 +-
src/backend/gporca/data/dxl/tpch/q8.mdp | 4 +-
src/backend/gporca/data/dxl/tpch/q9.mdp | 4 +-
.../gporca/libgpdbcost/src/CCostModelGPDB.cpp | 11 +-
.../libgpopt/include/gpopt/base/CConstraint.h | 17 +-
.../include/gpopt/base/CConstraintInterval.h | 25 +-
.../libgpopt/include/gpopt/base/CCostContext.h | 6 +
.../gpopt/base/CDistributionSpecReplicated.h | 23 +-
.../include/gpopt/base/COptimizationContext.h | 5 +-
.../gporca/libgpopt/include/gpopt/base/CUtils.h | 16 +-
.../gpopt/operators/CLeftJoinPruningPreprocessor.h | 74 +
.../gpopt/operators/CLogicalDynamicGetBase.h | 5 +
.../include/gpopt/operators/CPhysicalHashJoin.h | 13 +
.../gpopt/operators/CPhysicalLeftSemiHashJoin.h | 8 +
.../gpopt/operators/CPhysicalMotionBroadcast.h | 3 +-
.../gpopt/operators/CPhysicalRightOuterHashJoin.h | 8 +
.../include/gpopt/operators/CPredicateUtils.h | 19 +-
.../gpopt/operators/CScalarArrayCoerceExpr.h | 18 +-
.../libgpopt/include/gpopt/operators/CScalarFunc.h | 10 +-
.../libgpopt/include/gpopt/xforms/CXformUtils.h | 1 +
.../gporca/libgpopt/src/base/CCastUtils.cpp | 34 +-
.../gporca/libgpopt/src/base/CConstraint.cpp | 31 +-
.../libgpopt/src/base/CConstraintInterval.cpp | 273 ++-
.../gporca/libgpopt/src/base/CCostContext.cpp | 64 +
.../libgpopt/src/base/CDefaultComparator.cpp | 1 +
.../src/base/CDistributionSpecNonSingleton.cpp | 31 +-
.../src/base/CDistributionSpecReplicated.cpp | 6 +-
.../libgpopt/src/base/COptimizationContext.cpp | 28 +-
.../src/base/CPartitionPropagationSpec.cpp | 22 +-
src/backend/gporca/libgpopt/src/base/CRange.cpp | 2 +
src/backend/gporca/libgpopt/src/base/CUtils.cpp | 159 +-
.../gporca/libgpopt/src/mdcache/CMDAccessor.cpp | 2 +-
.../src/operators/CExpressionPreprocessor.cpp | 71 +-
.../src/operators/CLeftJoinPruningPreprocessor.cpp | 573 ++++++
.../src/operators/CLogicalDynamicGetBase.cpp | 56 +-
.../src/operators/COrderedAggPreprocessor.cpp | 2 +-
.../libgpopt/src/operators/CPhysicalHashJoin.cpp | 159 ++
.../src/operators/CPhysicalInnerHashJoin.cpp | 109 +-
.../CPhysicalLeftAntiSemiHashJoinNotIn.cpp | 29 +-
.../src/operators/CPhysicalLeftSemiHashJoin.cpp | 21 +
.../src/operators/CPhysicalMotionBroadcast.cpp | 7 +-
.../src/operators/CPhysicalRightOuterHashJoin.cpp | 19 +
.../libgpopt/src/operators/CPredicateUtils.cpp | 201 ++-
.../src/operators/CScalarArrayCoerceExpr.cpp | 59 +-
.../gporca/libgpopt/src/operators/CScalarFunc.cpp | 12 +-
src/backend/gporca/libgpopt/src/operators/Makefile | 3 +-
.../libgpopt/src/search/CGroupExpression.cpp | 4 +-
.../src/translate/CTranslatorDXLToExpr.cpp | 44 +-
.../src/translate/CTranslatorExprToDXL.cpp | 14 +-
.../gporca/libgpopt/src/xforms/CXformSplitDQA.cpp | 86 +-
.../gporca/libgpopt/src/xforms/CXformUtils.cpp | 5 +
.../libgpos/include/gpos/string/CWStringConst.h | 10 +
.../gporca/libgpos/src/string/CWStringConst.cpp | 28 +
.../dxl/operators/CDXLScalarArrayCoerceExpr.h | 29 +-
.../naucrates/dxl/operators/CDXLScalarFuncExpr.h | 9 +-
.../naucrates/dxl/parser/CParseHandlerMDGPDBFunc.h | 7 -
.../naucrates/dxl/parser/CParseHandlerMDType.h | 3 +
.../include/naucrates/dxl/xml/dxltokens.h | 10 +-
.../include/naucrates/md/CDXLColStats.h | 4 +-
.../include/naucrates/md/CDXLExtStats.h | 4 +-
.../include/naucrates/md/CDXLExtStatsInfo.h | 4 +-
.../include/naucrates/md/CDXLRelStats.h | 4 +-
.../include/naucrates/md/CGPDBTypeHelper.h | 4 +
.../include/naucrates/md/CMDAggregateGPDB.h | 8 +-
.../include/naucrates/md/CMDArrayCoerceCastGPDB.h | 17 +-
.../include/naucrates/md/CMDCastGPDB.h | 8 +-
.../include/naucrates/md/CMDCheckConstraintGPDB.h | 8 +-
.../include/naucrates/md/CMDFunctionGPDB.h | 27 +-
.../include/naucrates/md/CMDIndexGPDB.h | 8 +-
.../include/naucrates/md/CMDRelationCtasGPDB.h | 8 +-
.../include/naucrates/md/CMDRelationGPDB.h | 8 +-
.../include/naucrates/md/CMDScCmpGPDB.h | 8 +-
.../include/naucrates/md/CMDScalarOpGPDB.h | 8 +-
.../include/naucrates/md/CMDTypeBoolGPDB.h | 12 +-
.../include/naucrates/md/CMDTypeGenericGPDB.h | 25 +-
.../include/naucrates/md/CMDTypeInt2GPDB.h | 12 +-
.../include/naucrates/md/CMDTypeInt4GPDB.h | 12 +-
.../include/naucrates/md/CMDTypeInt8GPDB.h | 12 +-
.../include/naucrates/md/CMDTypeOidGPDB.h | 12 +-
.../include/naucrates/md/IMDCacheObject.h | 2 +-
.../include/naucrates/md/IMDFunction.h | 13 -
.../libnaucrates/include/naucrates/md/IMDType.h | 2 +
.../gporca/libnaucrates/src/md/CDXLColStats.cpp | 32 +-
.../gporca/libnaucrates/src/md/CDXLExtStats.cpp | 14 +-
.../libnaucrates/src/md/CDXLExtStatsInfo.cpp | 14 +-
.../gporca/libnaucrates/src/md/CDXLRelStats.cpp | 32 +-
.../libnaucrates/src/md/CMDAggregateGPDB.cpp | 19 +-
.../libnaucrates/src/md/CMDArrayCoerceCastGPDB.cpp | 35 +-
.../gporca/libnaucrates/src/md/CMDCastGPDB.cpp | 18 +-
.../libnaucrates/src/md/CMDCheckConstraintGPDB.cpp | 18 +-
.../gporca/libnaucrates/src/md/CMDFunctionGPDB.cpp | 55 +-
.../gporca/libnaucrates/src/md/CMDIndexGPDB.cpp | 18 +-
.../libnaucrates/src/md/CMDRelationCtasGPDB.cpp | 18 +-
.../gporca/libnaucrates/src/md/CMDRelationGPDB.cpp | 18 +-
.../gporca/libnaucrates/src/md/CMDScCmpGPDB.cpp | 18 +-
.../gporca/libnaucrates/src/md/CMDScalarOpGPDB.cpp | 18 +-
.../gporca/libnaucrates/src/md/CMDTypeBoolGPDB.cpp | 27 +-
.../libnaucrates/src/md/CMDTypeGenericGPDB.cpp | 40 +-
.../gporca/libnaucrates/src/md/CMDTypeInt2GPDB.cpp | 27 +-
.../gporca/libnaucrates/src/md/CMDTypeInt4GPDB.cpp | 27 +-
.../gporca/libnaucrates/src/md/CMDTypeInt8GPDB.cpp | 27 +-
.../gporca/libnaucrates/src/md/CMDTypeOidGPDB.cpp | 27 +-
.../src/operators/CDXLOperatorFactory.cpp | 18 +-
.../src/operators/CDXLScalarArrayCoerceExpr.cpp | 14 +-
.../src/operators/CDXLScalarFuncExpr.cpp | 21 +-
.../src/parser/CParseHandlerMDArrayCoerceCast.cpp | 7 +-
.../src/parser/CParseHandlerMDGPDBFunc.cpp | 56 +-
.../src/parser/CParseHandlerMDType.cpp | 21 +-
.../parser/CParseHandlerScalarArrayCoerceExpr.cpp | 13 +-
.../src/statistics/CExtendedStatsProcessor.cpp | 2 +
.../libnaucrates/src/statistics/CHistogram.cpp | 22 +-
.../gporca/libnaucrates/src/xml/dxltokens.cpp | 10 +-
src/backend/gporca/server/CMakeLists.txt | 31 +-
src/backend/gporca/server/dxl.xsd | 10 -
.../src/unittest/gpopt/minidump/CCastTest.cpp | 1 +
.../gpopt/translate/CTranslatorExprToDXLTest.cpp | 10 +-
src/backend/utils/cache/lsyscache.c | 51 +-
src/backend/utils/cache/test/Makefile | 1 +
src/backend/utils/cache/test/lsyscache_test.c | 46 +-
src/include/gpopt/gpdbwrappers.h | 7 +-
.../gpopt/translate/CTranslatorRelcacheToDXL.h | 18 +-
src/include/nodes/nodes.h | 2 +
src/include/utils/lsyscache.h | 2 +-
src/test/regress/expected/aggregates_optimizer.out | 2 -
src/test/regress/expected/bfv_aggregate.out | 103 ++
.../regress/expected/bfv_aggregate_optimizer.out | 116 ++
src/test/regress/expected/direct_dispatch.out | 12 +-
.../regress/expected/direct_dispatch_optimizer.out | 40 +-
src/test/regress/expected/dpe_optimizer.out | 46 +-
src/test/regress/expected/equivclass_optimizer.out | 36 +-
src/test/regress/expected/gp_dqa.out | 613 ++++++-
src/test/regress/expected/gp_dqa_optimizer.out | 793 +++++++-
src/test/regress/expected/gporca.out | 47 +
src/test/regress/expected/gporca_optimizer.out | 51 +
src/test/regress/expected/join_gp.out | 925 ++++++++++
src/test/regress/expected/join_gp_optimizer.out | 831 +++++++++
src/test/regress/expected/join_optimizer.out | 187 +-
.../regress/expected/partition_prune_opfamily.out | 390 ++++
.../partition_prune_opfamily_optimizer.out | 381 ++++
.../regress/expected/partition_prune_optimizer.out | 14 +-
src/test/regress/expected/partition_pruning.out | 480 +++++
.../expected/partition_pruning_optimizer.out | 470 +++++
src/test/regress/expected/qp_select.out | 433 +++++
.../expected/qp_targeted_dispatch_optimizer.out | 2 +-
src/test/regress/expected/text.out | 2 +
src/test/regress/expected/variadic_parameters.out | 25 +
src/test/regress/greenplum_schedule | 2 +-
src/test/regress/sql/bfv_aggregate.sql | 21 +
src/test/regress/sql/direct_dispatch.sql | 12 +-
src/test/regress/sql/gp_dqa.sql | 156 +-
src/test/regress/sql/gporca.sql | 21 +
src/test/regress/sql/join_gp.sql | 198 ++
src/test/regress/sql/partition_prune_opfamily.sql | 348 ++++
src/test/regress/sql/partition_pruning.sql | 102 ++
src/test/regress/sql/qp_select.sql | 70 +
src/test/regress/sql/text.sql | 4 +-
src/test/regress/sql/variadic_parameters.sql | 15 +
649 files changed, 19052 insertions(+), 6545 deletions(-)
copy src/backend/gporca/data/dxl/minidump/{LOJ-With-Single-Pred-On-Outer.mdp
=> ArrayCoerceImplicitCast.mdp} (54%)
create mode 100644 src/backend/gporca/data/dxl/minidump/CTAS-random-distr.mdp
copy src/backend/gporca/data/dxl/minidump/{DML-With-MasterOnlyTable-1.mdp =>
DML-With-CoordinatorOnlyTable-1.mdp} (99%)
copy src/backend/gporca/data/dxl/minidump/{ReplicatedTableInClause.mdp =>
LASJ-Not-In-Force-Broadcast.mdp} (84%)
copy src/backend/gporca/data/dxl/minidump/{LOJ_NULLTEST-On-SelfCheck-Pred.mdp
=> LeftJoinPruning.mdp} (50%)
copy src/backend/gporca/data/dxl/minidump/{PartForeignMixedSPE.mdp =>
LeftJoinPruningInOuterInnerQuery.mdp} (50%)
create mode 100644
src/backend/gporca/data/dxl/minidump/LeftJoinPruningInnerQuery.mdp
copy
src/backend/gporca/data/dxl/minidump/{PushConstantSelectPredicateThruJoin-14.mdp
=> LeftJoinPruningOuterQuery.mdp} (52%)
copy src/backend/gporca/data/dxl/minidump/{PartForeignMixedDPE.mdp =>
PartTbl-DPE-Opfamily.mdp} (58%)
rename
src/backend/gporca/data/dxl/minidump/{PartTbl-RightOuterHashJoin-DPE-IsNull.mdp
=> PartTbl-RightOuterHashJoin-DPE-IsNull-V2.mdp} (55%)
copy src/backend/gporca/data/dxl/minidump/{PartForeignUniformSPE.mdp =>
PartTbl-SPE-Boolean1.mdp} (71%)
copy src/backend/gporca/data/dxl/minidump/{DTS-Hetrogeneous-Partitioned.mdp =>
PartTbl-SPE-Boolean2.mdp} (64%)
copy
src/backend/gporca/data/dxl/minidump/{DirectDispatch-GpSegmentId-SingleCol-Conjunction.mdp
=> PushConstantSelectPredicateThruJoin-16.mdp} (64%)
copy src/backend/gporca/data/dxl/minidump/{Hash-IndexScan.mdp =>
PushConstantSelectPredicateThruJoin-17.mdp} (65%)
create mode 100644 src/backend/gporca/data/dxl/minidump/RightJoinDPE.mdp
delete mode 100644 src/backend/gporca/data/dxl/minidump/RightJoinDPS.mdp
copy src/backend/gporca/data/dxl/minidump/{DeleteMismatchedDistribution.mdp =>
RightJoinDpeWithWhereClause.mdp} (52%)
create mode 100644 src/backend/gporca/data/dxl/minidump/SemiJoinDPE.mdp
create mode 100644
src/backend/gporca/data/dxl/minidump/VariadicFlagWithFormatQuery.mdp
copy src/backend/gporca/data/dxl/minidump/{LOJ-With-Single-Pred-On-Outer.mdp
=> VariadicFlagWithJson.mdp} (55%)
copy src/backend/gporca/data/dxl/minidump/{CTG-Join.mdp =>
VariadicFlagWithUnionAll.mdp} (58%)
create mode 100644
src/backend/gporca/libgpopt/include/gpopt/operators/CLeftJoinPruningPreprocessor.h
create mode 100644
src/backend/gporca/libgpopt/src/operators/CLeftJoinPruningPreprocessor.cpp
create mode 100644 src/test/regress/expected/partition_prune_opfamily.out
create mode 100644
src/test/regress/expected/partition_prune_opfamily_optimizer.out
create mode 100644 src/test/regress/expected/qp_select.out
create mode 100644 src/test/regress/sql/partition_prune_opfamily.sql
create mode 100644 src/test/regress/sql/qp_select.sql
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]