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]


Reply via email to