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 572f755fc0 Set `dismiss_stale_reviews: false` in .asf.yaml
new a153b4a3f2 FIXME : Allow SPE plans to show "Partitions selected: 1
(out of 5)"
new ff274c55a9 Store aggregate replication safety info in catalog
new 07de611941 [ORCA] Use catalog to determine replication safe functions
new d0d363e4e5 Support HashIndexes in Orca
new 33e24882cb Fix bogus ORCA plan joining CTE and replicated table
(#14896)
new dababb3773 Prevent duplicate filter issue
new c3c0aef401 Fix duplicate filter due to operator argument order (#15111)
new 0d20361a39 Remove unused xforms
new 15c1c54332 Add support for foreign partitions in Orca (#14890)
new 1cabe2714e Fix 2 compiler warnings.
new 525b87facb Disable GUC optimizer_penalize_broadcast_threshold when set
to 0 (#15209)
new a9e7888578 Orca FIXME: Add checks to ensure plans with part selectors
are valid (#15083)
new 142353684b Fix COPY when executed via fdw on coordinator as executor
(#14846)
new 8d4b9d3ff5 Fix: cherry-pick DynamicForeignscan
new 5168873c3c Fix icw test cases generted from cherry-pick
DynamicForeignscan
The 15 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:
contrib/file_fdw/expected/.gitignore | 3 +
contrib/file_fdw/input/gp_file_fdw.source | 20 +
contrib/file_fdw/output/file_fdw_optimizer.source | 22 +-
contrib/file_fdw/output/gp_file_fdw.source | 91 +-
.../file_fdw/output/gp_file_fdw_optimizer.source | 145 +++
contrib/postgres_fdw/postgres_fdw.c | 2 +-
src/backend/catalog/pg_aggregate.c | 2 +
src/backend/cdb/cdbplan.c | 17 +-
src/backend/commands/aggregatecmds.c | 4 +
src/backend/commands/copyfrom.c | 16 +
src/backend/commands/explain.c | 117 +-
src/backend/commands/explain_gp.c | 5 +-
src/backend/executor/Makefile | 3 +-
src/backend/executor/execAmi.c | 12 +-
src/backend/executor/execProcnode.c | 10 +
src/backend/executor/nodeDynamicBitmapHeapscan.c | 2 +-
...deDynamicSeqscan.c => nodeDynamicForeignscan.c} | 141 ++-
src/backend/executor/nodeDynamicSeqscan.c | 2 +-
src/backend/executor/nodeForeignscan.c | 17 +-
src/backend/foreign/foreign.c | 2 +-
src/backend/gpopt/config/CConfigParamMapping.cpp | 7 +
src/backend/gpopt/gpdbwrappers.cpp | 23 +
.../gpopt/translate/CTranslatorDXLToPlStmt.cpp | 180 +++
.../gpopt/translate/CTranslatorQueryToDXL.cpp | 44 +-
.../gpopt/translate/CTranslatorRelcacheToDXL.cpp | 63 +-
src/backend/gpopt/translate/CTranslatorUtils.cpp | 17 +
.../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-Q8.xml | 8 +
.../dxl/expressiontests/LOJ-TO-InnerJoin-Q9.xml | 8 +
.../WinFunc-OuterRef-Partition-Order-Query.xml | 8 +
.../WinFunc-OuterRef-Partition-Query.xml | 8 +
.../dxl/minidump/AggonExternalTableNoMotion.mdp | 2 +-
.../minidump/AnySubqueryWithSubqueryInScalar.mdp | 8 +
.../dxl/minidump/AnySubqueryWithVolatileFunc.mdp | 12 +
.../gporca/data/dxl/minidump/BRINScan-Or.mdp | 48 +
.../data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp | 12 +
.../minidump/BitmapIndexApply-Basic-SelfJoin.mdp | 2 +-
.../minidump/BitmapIndexApply-Basic-TwoTables.mdp | 2 +-
.../BitmapIndexApply-Complex-Condition.mdp | 10 +-
.../BitmapIndexApply-InnerSelect-Basic.mdp | 2 +-
.../BitmapIndexApply-InnerSelect-PartTable.mdp | 2 +-
.../dxl/minidump/BitmapIndexApply-PartTable.mdp | 2 +-
.../dxl/minidump/BitmapIndexNLJWithProject.mdp | 2 +-
.../minidump/BitmapIndexNLJWithProjectNoFilt.mdp | 2 +-
.../dxl/minidump/BitmapIndexNLOJWithProject.mdp | 2 +-
.../minidump/BitmapIndexNLOJWithProjectNonPart.mdp | 10 +-
.../gporca/data/dxl/minidump/BitmapIndexScan.mdp | 2 +-
.../minidump/BtreeIndexNLJWithProjectNoPart.mdp | 10 +-
.../dxl/minidump/BtreeIndexNLOJWithProject.mdp | 2 +-
src/backend/gporca/data/dxl/minidump/CTE-4.mdp | 2 +-
.../gporca/data/dxl/minidump/CTE15HAReplicated.mdp | 673 ++++++++++
.../gporca/data/dxl/minidump/CTE15Replicated.mdp | 703 +++++++++++
.../gporca/data/dxl/minidump/CTE2HAReplicated.mdp | 750 +++++++++++
.../gporca/data/dxl/minidump/CTE2Replicated.mdp | 780 ++++++++++++
.../gporca/data/dxl/minidump/CollapseNot.mdp | 12 +
.../dxl/minidump/Correlation-With-Casting-1.mdp | 2 +-
.../dxl/minidump/Correlation-With-Casting-2.mdp | 2 +-
.../dxl/minidump/DML-With-WindowFunc-OuterRef.mdp | 8 +
.../gporca/data/dxl/minidump/DPE-SemiJoin.mdp | 8 +
.../data/dxl/minidump/Date-TimeStamp-HashJoin.mdp | 8 +
.../data/dxl/minidump/DirectDispatch-IndexScan.mdp | 8 +
...rectDispatch-SingleCol-Disjunction-Negative.mdp | 8 +
...nge-Cost4.mdp => DisableBroadcastThreshold.mdp} | 1301 ++++++++++----------
.../data/dxl/minidump/DynamicBitmapIndexScan.mdp | 2 +-
.../gporca/data/dxl/minidump/EquivClassesLimit.mdp | 8 +
.../gporca/data/dxl/minidump/ExternalTable1.mdp | 2 +-
.../gporca/data/dxl/minidump/ExternalTable2.mdp | 2 +-
.../gporca/data/dxl/minidump/ExternalTable3.mdp | 2 +-
.../gporca/data/dxl/minidump/ExternalTable4.mdp | 2 +-
.../data/dxl/minidump/ExternalTableWithFilter.mdp | 2 +-
.../data/dxl/minidump/ExtractPredicateFromDisj.mdp | 8 +
...ExtractPredicateFromDisjWithComputedColumns.mdp | 8 +
...eous-Partitioned.mdp => ForeignPartUniform.mdp} | 187 ++-
.../gporca/data/dxl/minidump/GroupByOuterRef.mdp | 8 +
.../gporca/data/dxl/minidump/HJN-DeeperOuter.mdp | 29 +
...an-NoDistKeyInIndex.mdp => Hash-BitmapScan.mdp} | 196 +--
...can-NoDistKeyInIndex.mdp => Hash-IndexScan.mdp} | 182 +--
.../minidump/Index-Join-With-Subquery-In-Pred.mdp | 2 +-
...dexApply-Heterogeneous-BothSidesPartitioned.mdp | 2 +-
.../dxl/minidump/IndexApply-Heterogeneous-DTS.mdp | 2 +-
.../minidump/IndexApply-Heterogeneous-NoDTS.mdp | 2 +-
.../minidump/IndexApply-IndexOnMasterOnlyTable.mdp | 2 +-
.../dxl/minidump/IndexApply-InnerSelect-Basic.mdp | 2 +-
.../IndexApply-InnerSelect-Heterogeneous-DTS.mdp | 2 +-
.../minidump/IndexApply-InnerSelect-PartTable.mdp | 2 +-
.../dxl/minidump/IndexApply-LeftOuter-NLJoin.mdp | 2 +-
...pply-MultiDistKeys-IncompletePDS-3-DistCols.mdp | 10 +-
.../data/dxl/minidump/IndexApply-PartTable.mdp | 2 +-
.../minidump/IndexApply1-CalibratedCostModel.mdp | 2 +-
.../gporca/data/dxl/minidump/IndexApply1.mdp | 2 +-
.../gporca/data/dxl/minidump/IndexApply2.mdp | 2 +-
.../gporca/data/dxl/minidump/IndexApply3.mdp | 2 +-
.../gporca/data/dxl/minidump/IndexApply4.mdp | 2 +-
...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 +
.../data/dxl/minidump/InferPredicatesForLimit.mdp | 12 +
.../data/dxl/minidump/InferPredicatesForPartSQ.mdp | 12 +
.../minidump/InferPredicatesFromExistsSubquery.mdp | 12 +
.../dxl/minidump/InferPredicatesJoinSubquery.mdp | 12 +
.../dxl/minidump/InferPredicatesMultiColumns.mdp | 12 +
.../gporca/data/dxl/minidump/InsertAssertSort.mdp | 2 +-
.../gporca/data/dxl/minidump/InsertProjectSort.mdp | 2 +-
.../data/dxl/minidump/Join-INDF-NoBroadcast.mdp | 2 +-
.../minidump/Join-INDF-Nulls-Not-Collocated.mdp | 2 +-
.../dxl/minidump/Join_OuterChild_DistUniversal.mdp | 8 +
.../data/dxl/minidump/LOJ-DynBitmapIndex.mdp | 2 +-
.../dxl/minidump/LOJ-DynBitmapIndexWithSelect.mdp | 2 +-
.../minidump/LOJ-IndexApply-CompsiteKey-Equiv.mdp | 2 +-
.../LOJ-IndexApply-CompsiteKey-NoMotion.mdp | 2 +-
.../LOJ-IndexApply-DistKey-Multiple-Predicates.mdp | 2 +-
.../minidump/LOJ-IndexApply-MasterOnly-Table.mdp | 2 +-
.../LOJ-IndexApply-MultiDistKeys-IndexKeys.mdp | 2 +-
.../dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp | 18 +-
.../LOJ-IndexApply-Negative-NonEqual-Predicate.mdp | 2 +-
.../dxl/minidump/LOJ-IndexApply-NonDistKey.mdp | 2 +-
.../LOJ-IndexApply-WithComplexPredicates.mdp | 2 +-
.../dxl/minidump/LeftJoin-With-Pred-On-Inner2.mdp | 8 +
.../dxl/minidump/LogicalIndexGetDroppedCols.mdp | 17 +
.../data/dxl/minidump/MultipleIndexPredicate.mdp | 12 +
.../data/dxl/minidump/NLJ-DistCol-No-Broadcast.mdp | 2 +-
.../dxl/minidump/NLJ-EqAllCol-No-Broadcast.mdp | 2 +-
.../NLJ-EqDistCol-InEqNonDistCol-No-Broadcast.mdp | 2 +-
.../NLJ-InEqDistCol-EqNonDistCol-Redistribute.mdp | 2 +-
.../dxl/minidump/NestedNLJWithBlockingSpool.mdp | 2 +-
...ngHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp | 12 +
.../NotWellDefinedDisjunctConjunctPredicates.mdp | 16 +
...ngHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp | 12 +
...ed.mdp => PartForeignDifferentExecLocation.mdp} | 518 ++++----
.../dxl/minidump/PartForeignDifferentServer.mdp | 565 +++++++++
...eneous-Partitioned.mdp => PartForeignMixed.mdp} | 267 ++--
...ive-IndexApply2.mdp => PartForeignMixedDPE.mdp} | 844 ++++++-------
...ive-IndexApply2.mdp => PartForeignMixedSPE.mdp} | 720 +++++------
...s-Partitioned.mdp => PartForeignUniformSPE.mdp} | 221 ++--
.../gporca/data/dxl/minidump/PartTbl-DPE.mdp | 2 +-
.../gporca/data/dxl/minidump/PartTbl-HJ5.mdp | 2 +-
.../data/dxl/minidump/PartTbl-IsNullPredicate.mdp | 24 +
.../dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp | 8 +
.../PartTbl-SPE-DynamicTableScan-Range-Cost3.mdp | 24 +
.../gporca/data/dxl/minidump/PartTbl-SQAny.mdp | 13 +
.../data/dxl/minidump/ProjectWithTextConstant.mdp | 2 +-
... => PushConstantSelectPredicateThruJoin-11.mdp} | 381 +++---
... => PushConstantSelectPredicateThruJoin-12.mdp} | 365 +++---
... => PushConstantSelectPredicateThruJoin-13.mdp} | 369 +++---
... => PushConstantSelectPredicateThruJoin-14.mdp} | 507 ++++----
... => PushConstantSelectPredicateThruJoin-15.mdp} | 497 ++++----
.../dxl/minidump/PushFilterToSemiJoinLeftChild.mdp | 8 +
.../dxl/minidump/PushGbBelowJoin-NegativeCase.mdp | 8 +
.../minidump/PushSelectWithOuterRefBelowUnion.mdp | 8 +
.../data/dxl/minidump/ReplicatedTableGroupBy.mdp | 2 +-
.../minidump/ReplicatedTableWithAggNoMotion.mdp | 2 +-
.../minidump/SemiJoinWithWindowsFuncInSubquery.mdp | 8 +
.../data/dxl/minidump/Subq2OuterRef2InJoin.mdp | 8 +
.../dxl/minidump/Subq2OuterRefMultiLevelInOn.mdp | 8 +
.../data/dxl/minidump/Subq2PartialDecorrelate.mdp | 8 +
.../data/dxl/minidump/TimeStamp-Date-HashJoin.mdp | 8 +
.../minidump/Union-OuterRefs-Casting-Output.mdp | 17 +
.../gporca/data/dxl/minidump/UnionOfDQAQueries.mdp | 2 +-
.../gporca/data/dxl/minidump/UnnestSQJoins.mdp | 8 +
.../gporca/data/dxl/parse_tests/q26-Metadata.xml | 10 +-
src/backend/gporca/data/dxl/search/strategy0.xml | 4 +-
.../gporca/libgpdbcost/src/CCostModelGPDB.cpp | 9 +-
.../include/gpopt/base/CPartitionPropagationSpec.h | 5 +
.../gporca/libgpopt/include/gpopt/base/CUtils.h | 8 +-
...calForeignGet.h => CLogicalDynamicForeignGet.h} | 89 +-
.../include/gpopt/operators/CLogicalDynamicGet.h | 21 +-
.../libgpopt/include/gpopt/operators/COperator.h | 3 +
...ForeignScan.h => CPhysicalDynamicForeignScan.h} | 75 +-
.../include/gpopt/operators/CScalarAggFunc.h | 13 +-
.../include/gpopt/translate/CTranslatorExprToDXL.h | 13 +
.../gporca/libgpopt/include/gpopt/xforms/CXform.h | 8 +-
...> CXformDynamicForeignGet2DynamicForeignScan.h} | 31 +-
.../xforms/CXformDynamicGet2DynamicTableScan.h | 8 +-
.../CXformExpandDynamicGetWithForeignPartitions.h | 114 ++
.../gpopt/xforms/CXformInnerJoin2HashJoin.h | 71 --
.../include/gpopt/xforms/CXformInnerJoin2NLJoin.h | 71 --
.../gporca/libgpopt/include/gpopt/xforms/xforms.h | 4 +-
.../src/base/CPartitionPropagationSpec.cpp | 28 +
src/backend/gporca/libgpopt/src/base/CUtils.cpp | 103 +-
.../src/operators/CExpressionPreprocessor.cpp | 15 +-
.../gporca/libgpopt/src/operators/CLogical.cpp | 5 +-
.../src/operators/CLogicalDynamicForeignGet.cpp | 156 +++
.../libgpopt/src/operators/CLogicalDynamicGet.cpp | 40 +-
.../libgpopt/src/operators/CLogicalUnion.cpp | 12 -
.../src/operators/COrderedAggPreprocessor.cpp | 2 +-
.../src/operators/CPhysicalDynamicForeignScan.cpp | 138 +++
.../src/operators/CPhysicalDynamicScan.cpp | 1 +
.../libgpopt/src/operators/CPhysicalFilter.cpp | 11 +
.../src/operators/CPhysicalForeignScan.cpp | 8 +-
.../libgpopt/src/operators/CPhysicalMotion.cpp | 6 +-
.../src/operators/CPhysicalPartitionSelector.cpp | 12 +-
.../libgpopt/src/operators/CPhysicalSequence.cpp | 17 +
.../libgpopt/src/operators/CPhysicalSpool.cpp | 7 +-
.../libgpopt/src/operators/CPredicateUtils.cpp | 4 +
.../libgpopt/src/operators/CScalarAggFunc.cpp | 5 +-
.../libgpopt/src/operators/CScalarProjectList.cpp | 8 +-
src/backend/gporca/libgpopt/src/operators/Makefile | 2 +
.../src/translate/CTranslatorDXLToExpr.cpp | 27 +-
.../src/translate/CTranslatorExprToDXL.cpp | 129 ++
src/backend/gporca/libgpopt/src/xforms/CXform.cpp | 4 -
...CXformDynamicForeignGet2DynamicForeignScan.cpp} | 51 +-
.../xforms/CXformDynamicGet2DynamicTableScan.cpp | 13 +
.../gporca/libgpopt/src/xforms/CXformEagerAgg.cpp | 4 +-
...CXformExpandDynamicGetWithForeignPartitions.cpp | 252 ++++
.../gporca/libgpopt/src/xforms/CXformFactory.cpp | 6 +-
.../src/xforms/CXformImplementInnerJoin.cpp | 4 +-
.../src/xforms/CXformInnerJoin2HashJoin.cpp | 79 --
.../libgpopt/src/xforms/CXformInnerJoin2NLJoin.cpp | 79 --
.../src/xforms/CXformSelect2DynamicIndexGet.cpp | 8 +
.../gporca/libgpopt/src/xforms/CXformSplitDQA.cpp | 12 +-
.../libgpopt/src/xforms/CXformSplitGbAgg.cpp | 6 +-
.../gporca/libgpopt/src/xforms/CXformUtils.cpp | 21 +-
.../xforms/CxformSelect2DynamicBitmapBoolOp.cpp | 10 +-
src/backend/gporca/libgpopt/src/xforms/Makefile | 4 +-
.../libgpos/include/gpos/common/CDynamicPtrArray.h | 5 +-
.../gporca/libgpos/include/gpos/common/CHashMap.h | 5 +
.../include/naucrates/dxl/operators/CDXLOperator.h | 1 +
...ableScan.h => CDXLPhysicalDynamicForeignScan.h} | 54 +-
...bleScan.h => CParseHandlerDynamicForeignScan.h} | 30 +-
.../naucrates/dxl/parser/CParseHandlerFactory.h | 5 +
.../naucrates/dxl/parser/CParseHandlerMDGPDBAgg.h | 3 +
.../naucrates/dxl/parser/CParseHandlerMDRelation.h | 3 +
.../include/naucrates/dxl/parser/parsehandlers.h | 1 +
.../include/naucrates/dxl/xml/dxltokens.h | 9 +-
.../include/naucrates/md/CMDAggregateGPDB.h | 13 +-
.../include/naucrates/md/CMDRelationCtasGPDB.h | 6 +
.../include/naucrates/md/CMDRelationGPDB.h | 26 +-
.../include/naucrates/md/IMDAggregate.h | 3 +
.../libnaucrates/include/naucrates/md/IMDIndex.h | 1 +
.../include/naucrates/md/IMDRelation.h | 3 +
.../include/naucrates/traceflags/traceflags.h | 6 +
.../libnaucrates/src/md/CMDAggregateGPDB.cpp | 11 +-
.../gporca/libnaucrates/src/md/CMDIdGPDB.cpp | 2 -
.../gporca/libnaucrates/src/md/CMDIndexGPDB.cpp | 3 +-
.../gporca/libnaucrates/src/md/CMDRelationGPDB.cpp | 17 +-
.../gporca/libnaucrates/src/md/IMDIndex.cpp | 2 +
.../src/operators/CDXLOperatorFactory.cpp | 5 +
...Scan.cpp => CDXLPhysicalDynamicForeignScan.cpp} | 56 +-
.../gporca/libnaucrates/src/operators/Makefile | 1 +
...can.cpp => CParseHandlerDynamicForeignScan.cpp} | 45 +-
.../src/parser/CParseHandlerFactory.cpp | 11 +
.../src/parser/CParseHandlerMDGPDBAgg.cpp | 15 +-
.../src/parser/CParseHandlerMDRelation.cpp | 14 +-
.../gporca/libnaucrates/src/parser/Makefile | 1 +
.../gporca/libnaucrates/src/xml/dxltokens.cpp | 10 +-
src/backend/gporca/server/CMakeLists.txt | 15 +-
.../gporca/server/src/unittest/CTestUtils.cpp | 12 +-
.../src/unittest/gpopt/minidump/CCTETest.cpp | 6 +-
.../src/unittest/gpopt/minidump/CICGTest.cpp | 3 +-
.../unittest/gpopt/search/CSearchStrategyTest.cpp | 2 +-
.../unittest/gpopt/xforms/CXformFactoryTest.cpp | 4 +-
src/backend/nodes/copyfuncs.c | 42 +-
src/backend/nodes/outfast.c | 3 +
src/backend/nodes/outfuncs.c | 27 +-
src/backend/nodes/readfast.c | 3 +
src/backend/nodes/readfuncs.c | 31 +-
src/backend/optimizer/util/walkers.c | 1 +
src/backend/utils/cache/lsyscache.c | 25 +
src/backend/utils/misc/guc_gp.c | 4 +-
src/bin/pg_dump/pg_dump.c | 12 +
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_aggregate.dat | 213 ++--
src/include/catalog/pg_aggregate.h | 4 +
src/include/executor/nodeDynamicForeignscan.h | 23 +
src/include/executor/nodeForeignscan.h | 2 +
src/include/gpopt/gpdbwrappers.h | 4 +
.../gpopt/translate/CTranslatorDXLToPlStmt.h | 8 +
src/include/gpopt/translate/CTranslatorUtils.h | 4 +
src/include/nodes/execnodes.h | 47 +-
src/include/nodes/nodes.h | 2 +
src/include/nodes/plannodes.h | 27 +
src/include/utils/lsyscache.h | 1 +
.../isolation2/expected/lockmodes_optimizer.out | 32 +-
src/test/regress/data/part1.csv | 4 +
src/test/regress/data/part2.csv | 4 +
src/test/regress/expected/.gitignore | 2 +
src/test/regress/expected/aggregates_optimizer.out | 2 +-
src/test/regress/expected/bfv_index.out | 311 +++++
src/test/regress/expected/bfv_index_optimizer.out | 299 +++++
.../regress/expected/create_index_optimizer.out | 10 +-
src/test/regress/expected/dpe_optimizer.out | 64 +-
src/test/regress/expected/gp_aggregates_costs.out | 40 +
.../expected/gp_aggregates_costs_optimizer.out | 38 +
src/test/regress/expected/gporca.out | 162 +--
src/test/regress/expected/gporca_optimizer.out | 230 ++--
.../regress/expected/groupingsets_optimizer.out | 19 +-
src/test/regress/expected/hash_index.out | 2 +
src/test/regress/expected/inherit_optimizer.out | 20 +-
src/test/regress/expected/join_optimizer.out | 2 +-
.../regress/expected/olap_window_seq_optimizer.out | 94 +-
.../expected/orca_static_pruning_optimizer.out | 16 +-
src/test/regress/expected/partition_optimizer.out | 16 +-
.../regress/expected/partition_prune_optimizer.out | 132 +-
.../regress/expected/qp_dropped_cols_optimizer.out | 2 +-
src/test/regress/expected/qp_orca_fallback.out | 24 +-
.../expected/qp_orca_fallback_optimizer.out | 30 +-
.../regress/expected/subselect_gp_optimizer.out | 81 +-
src/test/regress/expected/subselect_optimizer.out | 4 +-
.../regress/expected/with_clause_optimizer.out | 4 +-
src/test/regress/greenplum_schedule | 2 +-
src/test/regress/input/part_external_table.source | 131 ++
src/test/regress/output/part_external_table.source | 414 +++++++
.../output/part_external_table_optimizer.source | 410 ++++++
src/test/regress/sql/.gitignore | 1 +
src/test/regress/sql/bfv_index.sql | 117 ++
src/test/regress/sql/gp_aggregates_costs.sql | 21 +
src/test/regress/sql/gporca.sql | 37 +-
src/test/regress/sql/hash_index.sql | 3 +
src/test/regress/sql/qp_orca_fallback.sql | 4 +-
320 files changed, 12633 insertions(+), 4746 deletions(-)
create mode 100644 contrib/file_fdw/output/gp_file_fdw_optimizer.source
copy src/backend/executor/{nodeDynamicSeqscan.c => nodeDynamicForeignscan.c}
(59%)
create mode 100644 src/backend/gporca/data/dxl/minidump/CTE15HAReplicated.mdp
create mode 100644 src/backend/gporca/data/dxl/minidump/CTE15Replicated.mdp
create mode 100644 src/backend/gporca/data/dxl/minidump/CTE2HAReplicated.mdp
create mode 100644 src/backend/gporca/data/dxl/minidump/CTE2Replicated.mdp
copy
src/backend/gporca/data/dxl/minidump/{PartTbl-SPE-DynamicTableScan-Range-Cost4.mdp
=> DisableBroadcastThreshold.mdp} (80%)
copy src/backend/gporca/data/dxl/minidump/{DTS-Hetrogeneous-Partitioned.mdp =>
ForeignPartUniform.mdp} (71%)
copy src/backend/gporca/data/dxl/minidump/{IndexOnlyScan-NoDistKeyInIndex.mdp
=> Hash-BitmapScan.mdp} (71%)
copy src/backend/gporca/data/dxl/minidump/{IndexOnlyScan-NoDistKeyInIndex.mdp
=> Hash-IndexScan.mdp} (75%)
copy src/backend/gporca/data/dxl/minidump/{DTS-Hetrogeneous-Partitioned.mdp =>
PartForeignDifferentExecLocation.mdp} (50%)
create mode 100644
src/backend/gporca/data/dxl/minidump/PartForeignDifferentServer.mdp
copy src/backend/gporca/data/dxl/minidump/{DTS-Hetrogeneous-Partitioned.mdp =>
PartForeignMixed.mdp} (55%)
copy src/backend/gporca/data/dxl/minidump/{Negative-IndexApply2.mdp =>
PartForeignMixedDPE.mdp} (56%)
copy src/backend/gporca/data/dxl/minidump/{Negative-IndexApply2.mdp =>
PartForeignMixedSPE.mdp} (52%)
copy src/backend/gporca/data/dxl/minidump/{DTS-Hetrogeneous-Partitioned.mdp =>
PartForeignUniformSPE.mdp} (66%)
copy src/backend/gporca/data/dxl/minidump/{InferPredicatesBCC-vc-txt.mdp =>
PushConstantSelectPredicateThruJoin-11.mdp} (61%)
copy src/backend/gporca/data/dxl/minidump/{InferPredicatesBCC-vc-txt.mdp =>
PushConstantSelectPredicateThruJoin-12.mdp} (62%)
copy src/backend/gporca/data/dxl/minidump/{SqlFuncNullReject.mdp =>
PushConstantSelectPredicateThruJoin-13.mdp} (57%)
copy
src/backend/gporca/data/dxl/minidump/{InferPredicatesFromExistsSubquery.mdp =>
PushConstantSelectPredicateThruJoin-14.mdp} (53%)
copy
src/backend/gporca/data/dxl/minidump/{PushConstantSelectPredicateThruJoin-7.mdp
=> PushConstantSelectPredicateThruJoin-15.mdp} (55%)
copy src/backend/gporca/libgpopt/include/gpopt/operators/{CLogicalForeignGet.h
=> CLogicalDynamicForeignGet.h} (51%)
copy
src/backend/gporca/libgpopt/include/gpopt/operators/{CPhysicalForeignScan.h =>
CPhysicalDynamicForeignScan.h} (51%)
copy
src/backend/gporca/libgpopt/include/gpopt/xforms/{CXformForeignGet2ForeignScan.h
=> CXformDynamicForeignGet2DynamicForeignScan.h} (51%)
create mode 100644
src/backend/gporca/libgpopt/include/gpopt/xforms/CXformExpandDynamicGetWithForeignPartitions.h
delete mode 100644
src/backend/gporca/libgpopt/include/gpopt/xforms/CXformInnerJoin2HashJoin.h
delete mode 100644
src/backend/gporca/libgpopt/include/gpopt/xforms/CXformInnerJoin2NLJoin.h
create mode 100644
src/backend/gporca/libgpopt/src/operators/CLogicalDynamicForeignGet.cpp
create mode 100644
src/backend/gporca/libgpopt/src/operators/CPhysicalDynamicForeignScan.cpp
copy
src/backend/gporca/libgpopt/src/xforms/{CXformDynamicGet2DynamicTableScan.cpp
=> CXformDynamicForeignGet2DynamicForeignScan.cpp} (55%)
create mode 100644
src/backend/gporca/libgpopt/src/xforms/CXformExpandDynamicGetWithForeignPartitions.cpp
delete mode 100644
src/backend/gporca/libgpopt/src/xforms/CXformInnerJoin2HashJoin.cpp
delete mode 100644
src/backend/gporca/libgpopt/src/xforms/CXformInnerJoin2NLJoin.cpp
copy
src/backend/gporca/libnaucrates/include/naucrates/dxl/operators/{CDXLPhysicalDynamicTableScan.h
=> CDXLPhysicalDynamicForeignScan.h} (56%)
copy
src/backend/gporca/libnaucrates/include/naucrates/dxl/parser/{CParseHandlerDynamicTableScan.h
=> CParseHandlerDynamicForeignScan.h} (62%)
copy
src/backend/gporca/libnaucrates/src/operators/{CDXLPhysicalDynamicTableScan.cpp
=> CDXLPhysicalDynamicForeignScan.cpp} (68%)
copy
src/backend/gporca/libnaucrates/src/parser/{CParseHandlerDynamicTableScan.cpp
=> CParseHandlerDynamicForeignScan.cpp} (80%)
create mode 100644 src/include/executor/nodeDynamicForeignscan.h
create mode 100644 src/test/regress/data/part1.csv
create mode 100644 src/test/regress/data/part2.csv
create mode 100644 src/test/regress/input/part_external_table.source
create mode 100644 src/test/regress/output/part_external_table.source
create mode 100644 src/test/regress/output/part_external_table_optimizer.source
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]