You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudberry.apache.org by ma...@apache.org on 2025/02/07 09:28:23 UTC

(cloudberry) 09/34: [ORCA] Support cover indexes using INCLUDE columns (#15463)

This is an automated email from the ASF dual-hosted git repository.

maxyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit 1237a6f320f304a5f31d88d3d59bc56e4ca5d41e
Author: David Kimura <dk...@vmware.com>
AuthorDate: Tue May 30 14:43:57 2023 -0700

    [ORCA] Support cover indexes using INCLUDE columns (#15463)
    
    Indexes in ORCA are composed of a set of KEY columns and a separate set
    of INCLUDE columns. KEY columns determine the search pattern of the
    index, whereas INCLUDE columns represents the columns accessible in an
    index scan. Naturally, the two sets should have some overlap.
    
    In Postgres, cover indexes [1] were introduced in commit 8224de4f4.
    Cover indexes store additional non-key columns in the physical index
    storage to avoid incurring additional page accesses to the backend
    relation files during an index-only scan.
    
    ORCA's definition of an index's included columns predates Postgres cover
    index feature. However, ORCA's current implementation of include columns
    is pointless as it has always assumed that all columns in the table are
    available from the index. I think that cover indexes were disabled in
    ORCA [2] in Postgres 12 merge due to a conflated definition of included
    columns.
    
    In reality, Postgres's definition of included columns fits almost
    seamlessly into ORCA's framework. This commit updates ORCA to adopt the
    Postgres definition.
    
    Used following sed script to remove the IncludedColumns in old MDPs:
    
        $ git grep -l 'IncludedColumns' -- *.xml -- *.mdp | xargs sed -ie 's/IncludedColumns="\(.*\)"/IncludedColumns=""/g'
    
    Previously IncludedColumns represented all columns in the table. That
    doesn't seem useful. Now it is being used to store cover index columns
    so remove it from all pre-existing MDPs that were created before the
    cover index was supported.
    
    [1] https://www.postgresql.org/docs/12/indexes-index-only-scans.html
    [2] https://github.com/greenplum-db/gpdb-postgres-merge/commit/b1c1eee0a8
---
 .../gpopt/translate/CTranslatorDXLToPlStmt.cpp     |   33 +
 .../gpopt/translate/CTranslatorRelcacheToDXL.cpp   |   50 +-
 ...nFunc-OuterRef-Partition-Order-Frames-Query.xml |    4 +-
 .../WinFunc-OuterRef-Partition-Order-Query.xml     |    4 +-
 .../WinFunc-OuterRef-Partition-Query.xml           |    4 +-
 .../gporca/data/dxl/indexjoin/positive_04.mdp      |    6 +-
 src/backend/gporca/data/dxl/metadata/md.xml        |   14 +-
 .../gporca/data/dxl/minidump/ArrayCmpInList.mdp    |    4 +-
 .../gporca/data/dxl/minidump/AssertMaxOneRow.mdp   |    4 +-
 .../gporca/data/dxl/minidump/BRINScan-Or.mdp       |    2 +-
 .../dxl/minidump/BTreeIndex-Against-InList.mdp     |    2 +-
 .../minidump/BTreeIndex-Against-InListLarge.mdp    |    2 +-
 .../minidump/BTreeIndex-Against-ScalarSubquery.mdp |    2 +-
 .../gporca/data/dxl/minidump/BitmapBoolAnd.mdp     |    8 +-
 .../data/dxl/minidump/BitmapBoolOp-DeepTree.mdp    |    8 +-
 .../data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp   |    4 +-
 .../data/dxl/minidump/BitmapBoolOp-DeepTree3.mdp   |    4 +-
 .../data/dxl/minidump/BitmapBoolOr-BoolColumn.mdp  |    6 +-
 .../gporca/data/dxl/minidump/BitmapBoolOr.mdp      |    8 +-
 .../dxl/minidump/BitmapIndex-Against-InList.mdp    |    2 +-
 .../dxl/minidump/BitmapIndex-ChooseHashJoin.mdp    |    2 +-
 .../minidump/BitmapIndexApply-Basic-SelfJoin.mdp   |    2 +-
 .../minidump/BitmapIndexApply-Basic-TwoTables.mdp  |    2 +-
 .../BitmapIndexApply-Complex-Condition.mdp         |    4 +-
 .../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 |    2 +-
 .../dxl/minidump/BitmapIndexProbeMergeFilters.mdp  |    4 +-
 ...tmapIndexScan-WithUnsupportedOperatorFilter.mdp |    2 +-
 .../gporca/data/dxl/minidump/BitmapIndexScan.mdp   |    2 +-
 .../dxl/minidump/BitmapIndexScanChooseIndex.mdp    |    2 +-
 .../data/dxl/minidump/BitmapIndexScanCost.mdp      |    2 +-
 .../minidump/BitmapIndexUnsupportedOperator.mdp    |    2 +-
 .../BitmapScan-Hetrogeneous-Partitioned.mdp        |    2 +-
 ...BitmapTableScan-AO-Btree-PickIndexWithNoGap.mdp |    6 +-
 .../BitmapTableScan-AO-Btree-PickOnlyHighNDV.mdp   |    4 +-
 .../data/dxl/minidump/BitmapTableScan-AO-Btree.mdp |    2 +-
 .../data/dxl/minidump/BitmapTableScan-AO.mdp       |    2 +-
 .../dxl/minidump/BitmapTableScan-AndCondition.mdp  |    2 +-
 .../data/dxl/minidump/BitmapTableScan-Basic.mdp    |    2 +-
 .../minidump/BitmapTableScan-ColumnOnRightSide.mdp |    2 +-
 .../minidump/BitmapTableScan-ComplexConjDisj.mdp   |    4 +-
 .../BitmapTableScan-ConjDisjWithOuterRefs.mdp      |    4 +-
 .../minidump/BtreeIndexNLJWithProjectNoPart.mdp    |    2 +-
 .../dxl/minidump/BtreeIndexNLOJWithProject.mdp     |    2 +-
 .../FallBackToSerialAppend.mdp                     |    4 +-
 .../data/dxl/minidump/CapGbCardToSelectCard.mdp    |    2 +-
 .../dxl/minidump/CastedScalarIf-On-Index-Key.mdp   |    4 +-
 .../data/dxl/minidump/Coalesce-With-Subquery.mdp   |    8 +-
 .../gporca/data/dxl/minidump/CoerceToDomain.mdp    |    8 +-
 .../dxl/minidump/CorrelatedAntiSemiJoin-True.mdp   |    6 +-
 .../minidump/CorrelatedIN-LeftSemiNotIn-True.mdp   |    6 +-
 .../data/dxl/minidump/CorrelatedSemiJoin-True.mdp  |    6 +-
 .../{Hash-IndexScan.mdp => CoveringIndex-1.mdp}    |  164 ++-
 .../{ArrayCmpInList.mdp => CoveringIndex-2.mdp}    | 1526 ++++++++++----------
 .../{Hash-IndexScan.mdp => CoveringIndex-3.mdp}    |  241 ++--
 .../minidump/DirectDispatch-DynamicIndexScan.mdp   |    2 +-
 .../data/dxl/minidump/DirectDispatch-IndexScan.mdp |    4 +-
 .../dxl/minidump/DoubleNDVCardinalityEquals.mdp    |    2 +-
 .../data/dxl/minidump/DynamicBitmapBoolOp.mdp      |    6 +-
 .../data/dxl/minidump/DynamicBitmapIndexScan.mdp   |    2 +-
 .../dxl/minidump/DynamicBitmapTableScan-Basic.mdp  |    2 +-
 .../DynamicBitmapTableScan-Heterogeneous.mdp       |    2 +-
 .../dxl/minidump/DynamicBitmapTableScan-UUID.mdp   |    2 +-
 .../dxl/minidump/DynamicIndexGet-OuterRefs.mdp     |    4 +-
 .../dxl/minidump/DynamicIndexGetDroppedCols.mdp    |    2 +-
 .../dxl/minidump/DynamicIndexScan-BoolFalse.mdp    |    2 +-
 .../dxl/minidump/DynamicIndexScan-BoolTrue.mdp     |    2 +-
 .../DynamicIndexScan-DefaultPartition-2.mdp        |    4 +-
 .../minidump/DynamicIndexScan-DefaultPartition.mdp |    2 +-
 .../dxl/minidump/DynamicIndexScan-DroppedCols.mdp  |    2 +-
 .../minidump/DynamicIndexScan-DroppedColumns.mdp   |    2 +-
 ...ndexScan-Heterogenous-EnabledDateConstraint.mdp |    2 +-
 .../DynamicIndexScan-Heterogenous-NoDTS.mdp        |    4 +-
 .../DynamicIndexScan-Heterogenous-Overlapping.mdp  |    4 +-
 ...icIndexScan-Heterogenous-PartSelectEquality.mdp |    2 +-
 ...namicIndexScan-Heterogenous-PartSelectRange.mdp |    2 +-
 .../DynamicIndexScan-Heterogenous-Union.mdp        |    2 +-
 ...ndexScan-Heterogenous-UnsupportedConstraint.mdp |    2 +-
 ...IndexScan-Heterogenous-UnsupportedPredicate.mdp |    4 +-
 .../dxl/minidump/DynamicIndexScan-Heterogenous.mdp |    4 +-
 ...cIndexScan-Homogenous-EnabledDateConstraint.mdp |    4 +-
 ...cIndexScan-Homogenous-UnsupportedConstraint.mdp |    4 +-
 .../dxl/minidump/DynamicIndexScan-Homogenous.mdp   |    2 +-
 .../DynamicIndexScan-OpenEndedPartitions.mdp       |    2 +-
 .../data/dxl/minidump/DynamicIndexScan-Relabel.mdp |    2 +-
 .../minidump/ExtractOneBindingFromScalarGroups.mdp |    2 +-
 .../FullJoin-Subquery-CastedPredicates.mdp         |    4 +-
 .../gporca/data/dxl/minidump/Gb-on-keys.mdp        |    2 +-
 src/backend/gporca/data/dxl/minidump/GinIndex.mdp  |    2 +-
 .../data/dxl/minidump/GinIndexPathOpfamily.mdp     |    2 +-
 .../data/dxl/minidump/GinIndexSearchModeAll.mdp    |    2 +-
 .../Gist-AOCOTable-NonLossy-BitmapIndexPlan.mdp    |    2 +-
 .../Gist-NestedLoopJoin-Lossy-IndexPlan.mdp        |    2 +-
 .../Gist-NestedLoopJoin-Postgis-IndexPlan.mdp      |    2 +-
 .../Gist-NonPart-Lossy-BitmapIndexPlan.mdp         |    2 +-
 .../dxl/minidump/Gist-NonPart-Lossy-IndexPlan.mdp  |    2 +-
 .../data/dxl/minidump/Gist-OrderBy-BitmapPlan.mdp  |    2 +-
 .../data/dxl/minidump/Gist-OrderBy-IndexPlan.mdp   |    2 +-
 .../minidump/Gist-PartTable-Lossy-IndexPlan.mdp    |    2 +-
 .../Gist-PartTable-NonLossy-BitmapIndexPlan.mdp    |    2 +-
 .../dxl/minidump/Gist-PartialIndex-TableScan.mdp   |    2 +-
 .../data/dxl/minidump/GroupingOnSameTblCol-1.mdp   |    4 +-
 .../dxl/minidump/HJN-DPE-Bitmap-Outer-Child.mdp    |    2 +-
 .../gporca/data/dxl/minidump/Hash-BitmapScan.mdp   |    2 +-
 .../gporca/data/dxl/minidump/Hash-IndexScan.mdp    |    2 +-
 .../gporca/data/dxl/minidump/InEqualityJoin.mdp    |    2 +-
 .../minidump/Index-Join-With-Subquery-In-Pred.mdp  |    2 +-
 ...dexApply-Heterogeneous-BothSidesPartitioned.mdp |    4 +-
 .../dxl/minidump/IndexApply-Heterogeneous-DTS.mdp  |    4 +-
 .../minidump/IndexApply-Heterogeneous-NoDTS.mdp    |    4 +-
 ...IndexApply-IndexCondDisjointWithHashedDistr.mdp |    2 +-
 ...ndexApply-IndexCondIntersectWithHashedDistr.mdp |    2 +-
 .../IndexApply-IndexCondMatchHashedDistr.mdp       |    2 +-
 .../IndexApply-IndexCondSubsetOfHashedDistr.mdp    |    2 +-
 .../IndexApply-IndexCondSupersetOfHashedDistr.mdp  |    2 +-
 .../IndexApply-IndexOnCoordinatorOnlyTable.mdp     |    4 +-
 .../dxl/minidump/IndexApply-InnerSelect-Basic.mdp  |    2 +-
 .../IndexApply-InnerSelect-Heterogeneous-DTS.mdp   |    4 +-
 .../minidump/IndexApply-InnerSelect-PartTable.mdp  |    2 +-
 .../minidump/IndexApply-InnerSelect-PartTable2.mdp |    2 +-
 .../dxl/minidump/IndexApply-LeftOuter-NLJoin.mdp   |    8 +-
 .../IndexApply-MultiDistKey-WithComplexPreds.mdp   |    2 +-
 ...Apply-MultiDistKeys-Bitmap-WithComplexPreds.mdp |    2 +-
 .../minidump/IndexApply-MultiDistKeys-Bitmap.mdp   |    2 +-
 ...pply-MultiDistKeys-IncompletePDS-3-DistCols.mdp |    2 +-
 .../minidump/IndexApply-No-Motion-Below-Join.mdp   |    4 +-
 .../minidump/IndexApply-PartKey-Is-IndexKey.mdp    |    6 +-
 .../dxl/minidump/IndexApply-PartResolverExpand.mdp |    2 +-
 .../data/dxl/minidump/IndexApply-PartTable.mdp     |    2 +-
 .../IndexApply-Redistribute-Const-Table.mdp        |    4 +-
 .../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 +-
 .../IndexApply_NestLoopWithNestParamTrue.mdp       |    4 +-
 .../dxl/minidump/IndexConstraintsMDidCache.mdp     |    2 +-
 .../data/dxl/minidump/IndexGet-OuterRefs.mdp       |    2 +-
 .../dxl/minidump/IndexNLJ-IndexGet-OuterRef.mdp    |    2 +-
 .../dxl/minidump/IndexNLJoin_Cast_NoMotion.mdp     |    8 +-
 ...itionToRootTableContainingHeterogenousIndex.mdp |    2 +-
 ...nLeaf-AddPartitionToRootWithHomogenousIndex.mdp |    2 +-
 ...-IndexOnPartitionsWithDifferentStorageTypes.mdp |    2 +-
 ...verlappingHeterogenousIndex-ANDPredicate-AO.mdp |    4 +-
 ...rlappingHeterogenousIndex-ANDPredicate-HEAP.mdp |    4 +-
 ...pingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp |    4 +-
 ...ppingHomogenousIndexesOnRoot-ORPredicate-AO.mdp |    6 +-
 ...verlappingHeterogenousIndex-ANDPredicate-AO.mdp |    4 +-
 ...rlappingHeterogenousIndex-ANDPredicate-HEAP.mdp |    4 +-
 ...OverlappingHeterogenousIndex-ORPredicate-AO.mdp |    4 +-
 ...pingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp |    4 +-
 ...nLeaf-OverlappingHomogenousIndexesOnRoot-AO.mdp |    4 +-
 ...ppingHomogenousIndexesOnRoot-ORPredicate-AO.mdp |    4 +-
 ...af-SingleColumnHeterogenousIndexOnRoot-1-AO.mdp |    4 +-
 ...-SingleColumnHeterogenousIndexOnRoot-1-HEAP.mdp |    4 +-
 ...af-SingleColumnHeterogenousIndexOnRoot-2-AO.mdp |    4 +-
 ...-SingleColumnHeterogenousIndexOnRoot-2-HEAP.mdp |    4 +-
 .../minidump/IndexOnlyScan-NoDistKeyInIndex.mdp    |    2 +-
 .../gporca/data/dxl/minidump/IndexScan-AOTable.mdp |    2 +-
 .../gporca/data/dxl/minidump/IndexScan-AndedIn.mdp |    2 +-
 .../data/dxl/minidump/IndexScan-BoolFalse.mdp      |    2 +-
 .../data/dxl/minidump/IndexScan-BoolTrue.mdp       |    2 +-
 .../data/dxl/minidump/IndexScan-DroppedColumns.mdp |    2 +-
 .../data/dxl/minidump/IndexScan-ORPredsAOPart.mdp  |    2 +-
 .../data/dxl/minidump/IndexScan-ORPredsNonPart.mdp |    2 +-
 .../gporca/data/dxl/minidump/IndexScan-Relabel.mdp |    2 +-
 .../minidump/IndexScanWithNestedCTEAndSetOp.mdp    |    2 +-
 .../gporca/data/dxl/minidump/IndexedNLJBitmap.mdp  |    4 +-
 .../data/dxl/minidump/Insert-With-HJ-CTE-Agg.mdp   |    4 +-
 .../gporca/data/dxl/minidump/Join-Disj-Subqs.mdp   |    6 +-
 .../data/dxl/minidump/JoinColWithOnlyNDV.mdp       |    4 +-
 .../gporca/data/dxl/minidump/JoinNDVRemain.mdp     |    4 +-
 .../data/dxl/minidump/LOJ-DynBitmapIndex.mdp       |    2 +-
 .../dxl/minidump/LOJ-DynBitmapIndexWithSelect.mdp  |    2 +-
 .../gporca/data/dxl/minidump/LOJ-DynBtreeIndex.mdp |    2 +-
 .../dxl/minidump/LOJ-DynBtreeIndexWithSelect.mdp   |    2 +-
 ...LOJ-HashJoin-MultiDistKeys-WithComplexPreds.mdp |    2 +-
 .../minidump/LOJ-IndexApply-CompsiteKey-Equiv.mdp  |    4 +-
 .../LOJ-IndexApply-CompsiteKey-NoMotion.mdp        |    4 +-
 .../LOJ-IndexApply-CoordinatorOnly-Table.mdp       | 1014 +++++++++++++
 .../LOJ-IndexApply-DistKey-Multiple-Predicates.mdp |    8 +-
 ...ly-MultiDistKey-MultiIndexKey-NoExtraFilter.mdp |    2 +-
 .../LOJ-IndexApply-MultiDistKey-MultiIndexKey.mdp  |    2 +-
 ...Apply-MultiDistKeys-Bitmap-WithComplexPreds.mdp |    2 +-
 .../LOJ-IndexApply-MultiDistKeys-Bitmap.mdp        |    2 +-
 .../LOJ-IndexApply-MultiDistKeys-IndexKeys.mdp     |   16 +-
 ...J-IndexApply-MultiDistKeys-WithComplexPreds.mdp |    2 +-
 .../dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp   |    8 +-
 .../LOJ-IndexApply-Negative-NonEqual-Predicate.mdp |    8 +-
 .../dxl/minidump/LOJ-IndexApply-NonDistKey.mdp     |    2 +-
 .../LOJ-IndexApply-WithComplexPredicates.mdp       |    2 +-
 .../LOJ_convert_to_inner_with_and_predicate.mdp    |    2 +-
 .../LOJ_convert_to_inner_with_or_predicate.mdp     |    2 +-
 .../dxl/minidump/LeftJoin-With-Col-Const-Pred.mdp  |    6 +-
 .../gporca/data/dxl/minidump/LeftJoinPruning.mdp   |    4 +-
 .../minidump/LeftJoinPruningInOuterInnerQuery.mdp  |    4 +-
 .../dxl/minidump/LeftJoinPruningInnerQuery.mdp     |    6 +-
 .../dxl/minidump/LeftJoinPruningOuterQuery.mdp     |    4 +-
 .../dxl/minidump/LogicalIndexGetDroppedCols.mdp    |    2 +-
 .../data/dxl/minidump/MultipleIndexPredicate.mdp   |   10 +-
 .../data/dxl/minidump/Negative-IndexApply1.mdp     |    4 +-
 .../data/dxl/minidump/Negative-IndexApply2.mdp     |    4 +-
 .../gporca/data/dxl/minidump/Nested-Setops-2.mdp   |    2 +-
 .../dxl/minidump/NestedNLJWithBlockingSpool.mdp    |    4 +-
 .../data/dxl/minidump/NewBtreeIndexScanCost.mdp    |    4 +-
 .../gporca/data/dxl/minidump/NoSortPlan.mdp        |    2 +-
 ...ngHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp |    4 +-
 ...ngHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp |    4 +-
 .../OverlappingHomogenousIndexesOnRoot-HEAP.mdp    |    4 +-
 .../PartConstraint-WhenDefaultPartsAndIndices.mdp  |    2 +-
 ...PartConstraint-WhenIndicesAndNoDefaultParts.mdp |    2 +-
 .../PartTbl-ComplexRangePredicate-DefaultPart.mdp  |    4 +-
 .../dxl/minidump/PartTbl-IndexOnDefPartOnly.mdp    |    2 +-
 .../dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp   |    4 +-
 .../data/dxl/minidump/PartTbl-NEqPredicate.mdp     |    4 +-
 .../PredicateWithConjunctsAndDisjuncts.mdp         |    6 +-
 .../minidump/PredicateWithConjunctsOfDisjuncts.mdp |    6 +-
 .../dxl/minidump/PredicateWithLongConjunction.mdp  |    6 +-
 ...ueryMismatchedDistribution-DynamicIndexScan.mdp |    2 +-
 .../data/dxl/minidump/Select-Proj-OuterJoin.mdp    |    8 +-
 .../gporca/data/dxl/minidump/SelectOnCastedCol.mdp |    2 +-
 .../SingleColumnHomogenousIndexOnRoot-AO.mdp       |    2 +-
 .../SingleColumnHomogenousIndexOnRoot-HEAP.mdp     |    2 +-
 .../dxl/minidump/Stat-Derivation-Leaf-Pattern.mdp  |   10 +-
 .../gporca/data/dxl/minidump/SubqInIndexPred.mdp   |    2 +-
 .../minidump/TPCDS-39-InnerJoin-JoinEstimate.mdp   |    4 +-
 .../dxl/minidump/Tpcds-10TB-Q37-NoIndexJoin.mdp    |   48 +-
 .../data/dxl/minidump/Tpcds-NonPart-Q70a.mdp       |    6 +-
 src/backend/gporca/data/dxl/minidump/UnionAll.mdp  |    2 +-
 .../gporca/data/dxl/minidump/UnionOfDQAQueries.mdp |    2 +-
 .../gporca/data/dxl/minidump/UnnestSQJoins.mdp     |   12 +-
 .../dxl/minidump/UnsupportedStatsPredicate.mdp     |    4 +-
 .../data/dxl/minidump/UpdateUniqueConstraint-2.mdp |    2 +-
 src/backend/gporca/data/dxl/minidump/retail_28.mdp |    2 +-
 .../gporca/data/dxl/parse_tests/q26-Metadata.xml   |    6 +-
 .../include/gpopt/xforms/CXformJoin2IndexApply.h   |    5 +-
 .../libgpopt/include/gpopt/xforms/CXformUtils.h    |   39 +-
 .../src/xforms/CXformIndexGet2IndexOnlyScan.cpp    |    4 +-
 .../libgpopt/src/xforms/CXformJoin2IndexApply.cpp  |   16 +-
 .../src/xforms/CXformSelect2DynamicIndexGet.cpp    |    8 +-
 .../libgpopt/src/xforms/CXformSelect2IndexGet.cpp  |    8 +-
 .../gporca/libgpopt/src/xforms/CXformUtils.cpp     |  106 +-
 .../gporca/libnaucrates/src/md/CMDIndexGPDB.cpp    |    8 +-
 src/backend/gporca/server/CMakeLists.txt           |    3 +
 .../gpopt/translate/CTranslatorRelcacheToDXL.h     |    4 -
 src/test/regress/expected/gp_covering_index.out    |  652 +++++++++
 .../expected/gp_covering_index_optimizer.out       |  611 ++++++++
 .../expected/index_including_gist_optimizer.out    |   15 +-
 src/test/regress/greenplum_schedule                |    3 +
 src/test/regress/sql/gp_covering_index.sql         |  361 +++++
 255 files changed, 4173 insertions(+), 1532 deletions(-)

diff --git a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
index 3955a50814..a2b5e0c366 100644
--- a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
+++ b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
@@ -844,6 +844,7 @@ TranslateDXLIndexTList(const IMDRelation *md_rel, const IMDIndex *md_index,
 
 	index_context->SetRelIndex(INDEX_VAR);
 
+	// Translate KEY columns
 	for (ULONG ul = 0; ul < md_index->Keys(); ul++)
 	{
 		ULONG key = md_index->KeyAt(ul);
@@ -878,6 +879,38 @@ TranslateDXLIndexTList(const IMDRelation *md_rel, const IMDIndex *md_index,
 		target_list = gpdb::LAppend(target_list, target_entry);
 	}
 
+	// Translate INCLUDED columns
+	for (ULONG ul = 0; ul < md_index->IncludedCols(); ul++)
+	{
+		ULONG includecol = md_index->IncludedColAt(ul);
+
+		const IMDColumn *col = md_rel->GetMdCol(includecol);
+
+		TargetEntry *target_entry = MakeNode(TargetEntry);
+		// KEY columns preceed INCLUDE columns
+		target_entry->resno = (AttrNumber) ul + 1 + md_index->Keys();
+
+		Expr *indexvar = (Expr *) gpdb::MakeVar(
+			new_varno, col->AttrNum(),
+			CMDIdGPDB::CastMdid(col->MdidType())->Oid(),
+			col->TypeModifier() /*vartypmod*/, 0 /*varlevelsup*/);
+		target_entry->expr = indexvar;
+
+		for (ULONG j = 0; j < table_descr->Arity(); j++)
+		{
+			const CDXLColDescr *dxl_col_descr =
+				table_descr->GetColumnDescrAt(j);
+			if (dxl_col_descr->AttrNum() == ((Var *) indexvar)->varattno)
+			{
+				(void) index_context->InsertMapping(dxl_col_descr->Id(),
+													target_entry->resno);
+				break;
+			}
+		}
+
+		target_list = gpdb::LAppend(target_list, target_entry);
+	}
+
 	return target_list;
 }
 
diff --git a/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp b/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp
index 8a5073e58a..3ec05ad7a5 100644
--- a/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp
+++ b/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp
@@ -992,18 +992,28 @@ CTranslatorRelcacheToDXL::RetrieveIndex(CMemoryPool *mp,
 
 	// extract the position of the key columns
 	index_key_cols_array = GPOS_NEW(mp) ULongPtrArray(mp);
+	ULongPtrArray *included_cols = GPOS_NEW(mp) ULongPtrArray(mp);
 
 	for (int i = 0; i < form_pg_index->indnatts; i++)
 	{
 		INT attno = form_pg_index->indkey.values[i];
 		GPOS_ASSERT(0 != attno && "Index expressions not supported");
 
-		index_key_cols_array->Append(
-			GPOS_NEW(mp) ULONG(GetAttributePosition(attno, attno_mapping)));
+		// key columns are indexed [0, indnkeyatts)
+		if (i < form_pg_index->indnkeyatts)
+		{
+			index_key_cols_array->Append(
+				GPOS_NEW(mp) ULONG(GetAttributePosition(attno, attno_mapping)));
+		}
+		// include columns are indexed [indnkeyatts, indnatts)
+		else
+		{
+			included_cols->Append(
+				GPOS_NEW(mp) ULONG(GetAttributePosition(attno, attno_mapping)));
+		}
 	}
 	mdid_rel->Release();
 
-	ULongPtrArray *included_cols = ComputeIncludedCols(mp, md_rel);
 	mdid_index->AddRef();
 	IMdIdArray *op_families_mdids = RetrieveIndexOpFamilies(mp, mdid_index);
 
@@ -1028,34 +1038,6 @@ CTranslatorRelcacheToDXL::RetrieveIndex(CMemoryPool *mp,
 	return index;
 }
 
-//---------------------------------------------------------------------------
-//	@function:
-//		CTranslatorRelcacheToDXL::ComputeIncludedCols
-//
-//	@doc:
-//		Compute the included columns in an index
-//
-//---------------------------------------------------------------------------
-ULongPtrArray *
-CTranslatorRelcacheToDXL::ComputeIncludedCols(CMemoryPool *mp,
-											  const IMDRelation *md_rel)
-{
-	// TODO: 3/19/2012; currently we assume that all the columns
-	// in the table are available from the index.
-
-	ULongPtrArray *included_cols = GPOS_NEW(mp) ULongPtrArray(mp);
-	const ULONG num_included_cols = md_rel->ColumnCount();
-	for (ULONG ul = 0; ul < num_included_cols; ul++)
-	{
-		if (!md_rel->GetMdCol(ul)->IsDropped())
-		{
-			included_cols->Append(GPOS_NEW(mp) ULONG(ul));
-		}
-	}
-
-	return included_cols;
-}
-
 
 //---------------------------------------------------------------------------
 //	@function:
@@ -2690,12 +2672,6 @@ CTranslatorRelcacheToDXL::IsIndexSupported(Relation index_rel)
 {
 	HeapTupleData *tup = index_rel->rd_indextuple;
 
-	// covering index -- it has INCLUDE (...) columns
-	if (index_rel->rd_index->indnatts > index_rel->rd_index->indnkeyatts)
-	{
-		return false;
-	}
-
 	// index expressions and index constraints not supported
 	return gpdb::HeapAttIsNull(tup, Anum_pg_index_indexprs) &&
 		   gpdb::HeapAttIsNull(tup, Anum_pg_index_indpred) &&
diff --git a/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Frames-Query.xml b/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Frames-Query.xml
index adf503e8ab..18f3eb628e 100644
--- a/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Frames-Query.xml
+++ b/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Frames-Query.xml
@@ -617,7 +617,7 @@ select * from x where x.i in (select last_value(y.i) over(partition by x.i order
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -695,7 +695,7 @@ select * from x where x.i in (select last_value(y.i) over(partition by x.i order
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Query.xml b/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Query.xml
index a91c1dad67..1122e95478 100644
--- a/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Query.xml
+++ b/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Order-Query.xml
@@ -633,7 +633,7 @@ select * from x where x.i in (select row_number() over(partition by x.i order by
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
       <dxl:MDScalarComparison Mdid="4.23.1.0;20.1.0;0" Name="=" ComparisonType="Eq" LeftType="0.23.1.0" RightType="0.20.1.0" OperatorMdid="0.15.1.0"/>
-      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -701,7 +701,7 @@ select * from x where x.i in (select row_number() over(partition by x.i order by
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Query.xml b/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Query.xml
index 1afb734023..876255c724 100644
--- a/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Query.xml
+++ b/src/backend/gporca/data/dxl/expressiontests/WinFunc-OuterRef-Partition-Query.xml
@@ -633,7 +633,7 @@ select * from x where x.i in (select row_number() over(partition by x.i) from y)
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
       <dxl:MDScalarComparison Mdid="4.23.1.0;20.1.0;0" Name="=" ComparisonType="Eq" LeftType="0.23.1.0" RightType="0.20.1.0" OperatorMdid="0.15.1.0"/>
-      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -689,7 +689,7 @@ select * from x where x.i in (select row_number() over(partition by x.i) from y)
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/indexjoin/positive_04.mdp b/src/backend/gporca/data/dxl/indexjoin/positive_04.mdp
index 45ddd879dc..7bef218ded 100644
--- a/src/backend/gporca/data/dxl/indexjoin/positive_04.mdp
+++ b/src/backend/gporca/data/dxl/indexjoin/positive_04.mdp
@@ -3541,7 +3541,7 @@
           <dxl:Opfamily Mdid="0.3018.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.33052642.1.0" Name="store_sales_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="2,9" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29">
+      <dxl:Index Mdid="0.33052642.1.0" Name="store_sales_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="2,9" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -8553,7 +8553,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33052182.1.0" Name="store_returns_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="2,9" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26">
+      <dxl:Index Mdid="0.33052182.1.0" Name="store_returns_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="2,9" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -13336,7 +13336,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.1043.1.0" Value="AAAABldv" LintValue="756671276"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.33051952.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.33051952.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/metadata/md.xml b/src/backend/gporca/data/dxl/metadata/md.xml
index 153911f314..60303e4ba5 100644
--- a/src/backend/gporca/data/dxl/metadata/md.xml
+++ b/src/backend/gporca/data/dxl/metadata/md.xml
@@ -107,7 +107,7 @@
       </dxl:IndexInfoList>
       <dxl:CheckConstraints/>
     </dxl:Relation>
-    <dxl:Index Mdid="0.2345.2.1" Name="T_a" IsClustered="false" KeyColumns="1" IncludedColumns="0,1">
+    <dxl:Index Mdid="0.2345.2.1" Name="T_a" IsClustered="false" KeyColumns="1" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.1978.1.0"/>
       </dxl:Opfamilies>
@@ -116,7 +116,7 @@
         <dxl:Partition Mdid="6.2351.2.1"/>
       </dxl:Partitions>
     </dxl:Index>
-    <dxl:Index Mdid="0.2347.1.1" Name="T_a" IsClustered="false" KeyColumns="0" IncludedColumns="0,1">
+    <dxl:Index Mdid="0.2347.1.1" Name="T_a" IsClustered="false" KeyColumns="0" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.434.1.0"/>
       </dxl:Opfamilies>
@@ -1386,7 +1386,7 @@
         </dxl:And>
       </dxl:PartConstraint>
     </dxl:Relation>
-    <dxl:Index Mdid="0.13144342.1.0" Name="idx_p1_j_1_prt_p11" IsClustered="false" KeyColumns="1" IncludedColumns="0,1">
+    <dxl:Index Mdid="0.13144342.1.0" Name="idx_p1_j_1_prt_p11" IsClustered="false" KeyColumns="1" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.434.1.0"/>
       </dxl:Opfamilies>
@@ -1395,7 +1395,7 @@
         <dxl:Partition Mdid="6.13144344.1.0"/>
       </dxl:Partitions>
     </dxl:Index>
-    <dxl:Index Mdid="0.13144285.1.0" Name="idx_p1_i_1_prt_p11" IsClustered="false" KeyColumns="0" IncludedColumns="0,1">
+    <dxl:Index Mdid="0.13144285.1.0" Name="idx_p1_i_1_prt_p11" IsClustered="false" KeyColumns="0" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.434.1.0"/>
       </dxl:Opfamilies>
@@ -3099,13 +3099,13 @@
       <dxl:SumAgg Mdid="0.0.0.0"/>
       <dxl:CountAgg Mdid="0.2147.1.0"/>
     </dxl:Type>
-    <dxl:Index Mdid="0.197454.1.1" Name="foo_ab" IsClustered="false" KeyColumns="0,1" IncludedColumns="0,1,2,3,4">
+    <dxl:Index Mdid="0.197454.1.1" Name="foo_ab" IsClustered="false" KeyColumns="0,1" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.434.1.0"/>
         <dxl:Opfamily Mdid="0.434.1.0"/>
       </dxl:Opfamilies>
     </dxl:Index>
-    <dxl:Index Mdid="0.197514.1.1" Name="foo_bitmap_c" IsClustered="false" KeyColumns="2" IncludedColumns="0,1,2,3,4">
+    <dxl:Index Mdid="0.197514.1.1" Name="foo_bitmap_c" IsClustered="false" KeyColumns="2" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.434.1.0"/>
       </dxl:Opfamilies>
@@ -4323,7 +4323,7 @@
         </dxl:And>
       </dxl:PartConstraint>
     </dxl:Relation>
-    <dxl:Index Mdid="0.27324.1.0" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+    <dxl:Index Mdid="0.27324.1.0" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.434.1.0"/>
       </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp b/src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp
index d897653dd5..e9453111c1 100644
--- a/src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp
+++ b/src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp
@@ -42,12 +42,12 @@
       <dxl:TraceFlags Value="101013,102001,102002,102003,102074,102113,102120,102144,103001,103014,103015,103022,103027,103029,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.123270.1.0" Name="idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.123270.1.0" Name="idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.123266.1.0" Name="idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.123266.1.0" Name="idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/AssertMaxOneRow.mdp b/src/backend/gporca/data/dxl/minidump/AssertMaxOneRow.mdp
index 9790be77eb..caf52dd73f 100644
--- a/src/backend/gporca/data/dxl/minidump/AssertMaxOneRow.mdp
+++ b/src/backend/gporca/data/dxl/minidump/AssertMaxOneRow.mdp
@@ -748,13 +748,13 @@ where oid= (select reltoastrelid from pg_class where relname='fsts_alter_set_sto
           <dxl:Opfamily Mdid="0.3033.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="31" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="31" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BRINScan-Or.mdp b/src/backend/gporca/data/dxl/minidump/BRINScan-Or.mdp
index 32ae9ac1e8..d8c333bbfa 100644
--- a/src/backend/gporca/data/dxl/minidump/BRINScan-Or.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BRINScan-Or.mdp
@@ -101,7 +101,7 @@
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.180254.1.0" Name="foo_brin" IsClustered="false" IndexType="Brin" IndexItemType="0.2283.1.0" KeyColumns="0,1,2,3,4,5" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.180254.1.0" Name="foo_brin" IsClustered="false" IndexType="Brin" IndexItemType="0.2283.1.0" KeyColumns="0,1,2,3,4,5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.4054.1.0"/>
           <dxl:Opfamily Mdid="0.4054.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InList.mdp b/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InList.mdp
index 46dc67075e..0bdb7f4af4 100644
--- a/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InList.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InList.mdp
@@ -251,7 +251,7 @@ SELECT * FROM test WHERE a in (1, 47);
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.41665.1.1.7" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="3.000000" FreqRemain="1.000000" ColStatsMissing="false"/>
       <dxl:ColumnStatistics Mdid="1.41665.1.1.6" Name="tableoid" Width="4.000000" NullFreq="0.000000" NdvRemain="1.000000" FreqRemain="1.000000" ColStatsMissing="false"/>
-      <dxl:Index Mdid="0.41692.1.0" Name="test_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.41692.1.0" Name="test_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InListLarge.mdp b/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InListLarge.mdp
index bc3052f26e..33998610a7 100644
--- a/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InListLarge.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-InListLarge.mdp
@@ -511,7 +511,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="998114"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.65597.1.0" Name="test_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3">
+      <dxl:Index Mdid="0.65597.1.0" Name="test_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-ScalarSubquery.mdp b/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-ScalarSubquery.mdp
index c4f852f1bd..a51704337c 100644
--- a/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-ScalarSubquery.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BTreeIndex-Against-ScalarSubquery.mdp
@@ -35,7 +35,7 @@ SELECT * FROM btree_test WHERE a in (select 1);
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.4524693.1.0" Name="test_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.4524693.1.0" Name="test_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapBoolAnd.mdp b/src/backend/gporca/data/dxl/minidump/BitmapBoolAnd.mdp
index ff645d59f7..f46366316b 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapBoolAnd.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapBoolAnd.mdp
@@ -193,12 +193,12 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.145185.1.0" Name="r_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145185.1.0" Name="r_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.145206.1.0" Name="r_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145206.1.0" Name="r_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -206,14 +206,14 @@
       <dxl:ColumnStatistics Mdid="1.145159.1.1.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.3" Name="d" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.2" Name="c" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.145227.1.0" Name="r_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145227.1.0" Name="r_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.5" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.4" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.145248.1.0" Name="r_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145248.1.0" Name="r_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree.mdp b/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree.mdp
index cf5bfa7c81..862156343d 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree.mdp
@@ -193,22 +193,22 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.145185.1.0" Name="r_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145185.1.0" Name="r_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.145206.1.0" Name="r_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145206.1.0" Name="r_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.145227.1.0" Name="r_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145227.1.0" Name="r_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.145248.1.0" Name="r_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145248.1.0" Name="r_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp b/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp
index 7b20713989..8c121529a1 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree2.mdp
@@ -42,7 +42,7 @@ explain select * from t where c1 = 10 or (c2 = '4' and c5> 100);
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1632594.1.0" Name="t_c1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.1632594.1.0" Name="t_c1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -263,7 +263,7 @@ explain select * from t where c1 = 10 or (c2 = '4' and c5> 100);
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1632615.1.0" Name="t_c2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.1632615.1.0" Name="t_c2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree3.mdp b/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree3.mdp
index dfb0c176f1..eba1d638f7 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree3.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapBoolOp-DeepTree3.mdp
@@ -43,7 +43,7 @@ explain select * from t where (c1 = 10 and c5 < 20) or (c2 = '4' and c5> 100);
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1632594.1.0" Name="t_c1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.1632594.1.0" Name="t_c1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -264,7 +264,7 @@ explain select * from t where (c1 = 10 and c5 < 20) or (c2 = '4' and c5> 100);
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1632615.1.0" Name="t_c2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.1632615.1.0" Name="t_c2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapBoolOr-BoolColumn.mdp b/src/backend/gporca/data/dxl/minidump/BitmapBoolOr-BoolColumn.mdp
index 7bd8ea70ba..b33b462e23 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapBoolOr-BoolColumn.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapBoolOr-BoolColumn.mdp
@@ -28,7 +28,7 @@ explain select * from t where c2 = 'HEAP' or c4 = 't' or c5 = 'f';
       <dxl:TraceFlags Value="102001,102002,102003,102004,102005,102006,102007,102024,102025,102121,102144,103001,103016,103027,103033"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.21849037.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.21849037.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3017.1.0"/>
         </dxl:Opfamilies>
@@ -248,12 +248,12 @@ explain select * from t where c2 = 'HEAP' or c4 = 't' or c5 = 'f';
           <dxl:UpperBound Closed="true" TypeMdid="0.16.1.0" Value="true"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.21849058.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.21849058.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3017.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.21849079.1.0" Name="idx_t_3" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.21849079.1.0" Name="idx_t_3" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapBoolOr.mdp b/src/backend/gporca/data/dxl/minidump/BitmapBoolOr.mdp
index 11d3c2a0f6..e39b495f17 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapBoolOr.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapBoolOr.mdp
@@ -212,12 +212,12 @@ explain select * from r where a = 1 or b = 2;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.145185.1.0" Name="r_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145185.1.0" Name="r_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.145206.1.0" Name="r_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145206.1.0" Name="r_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -225,14 +225,14 @@ explain select * from r where a = 1 or b = 2;
       <dxl:ColumnStatistics Mdid="1.145159.1.1.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.3" Name="d" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.2" Name="c" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.145227.1.0" Name="r_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145227.1.0" Name="r_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.5" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.145159.1.1.4" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.145248.1.0" Name="r_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.145248.1.0" Name="r_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndex-Against-InList.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndex-Against-InList.mdp
index 133540c823..f696431d68 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndex-Against-InList.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndex-Against-InList.mdp
@@ -20,7 +20,7 @@ SELECT * FROM bitmap_test WHERE a in (1, 47);
       <dxl:TraceFlags Value="101013,102001,102002,102003,102120,102144,103001,103014,103015,103022,103027,103033,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.4513675.1.0" Name="bitmap_index" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.4513675.1.0" Name="bitmap_index" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndex-ChooseHashJoin.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndex-ChooseHashJoin.mdp
index 85ffe984b8..ff24202c00 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndex-ChooseHashJoin.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndex-ChooseHashJoin.mdp
@@ -3396,7 +3396,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.677686.1.0" Name="bar_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.677686.1.0" Name="bar_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-SelfJoin.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-SelfJoin.mdp
index 8cab11517d..9fde39f225 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-SelfJoin.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-SelfJoin.mdp
@@ -286,7 +286,7 @@ explain SELECT * FROM t i1, t t2 where t2.c2 = i1.c2;
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.29237539.1.1.7" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.29237539.1.1.6" Name="c7" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.29237567.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.29237567.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-TwoTables.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-TwoTables.mdp
index 919bc5ed3f..0f0b234093 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-TwoTables.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Basic-TwoTables.mdp
@@ -191,7 +191,7 @@ explain SELECT * FROM s i1, t t2 where t2.c2 = i1.c2;
       <dxl:ColumnStatistics Mdid="1.29842177.1.1.10" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.29842177.1.1.3" Name="c4" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.29842177.1.1.2" Name="c3" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.29842205.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.29842205.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Complex-Condition.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Complex-Condition.mdp
index 58fc4384dd..921b603671 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Complex-Condition.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-Complex-Condition.mdp
@@ -51,7 +51,7 @@ EXPLAIN SELECT * FROM s i1, t t2 where t2.c2 = i1.c2  and t2.c3 > i1.c3 or t2.c1
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.31264085.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.31264085.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -146,7 +146,7 @@ EXPLAIN SELECT * FROM s i1, t t2 where t2.c2 = i1.c2  and t2.c3 > i1.c3 or t2.c1
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.31264106.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.31264106.1.0" Name="idx_t_2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
           <dxl:Opfamily Mdid="0.3022.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-Basic.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-Basic.mdp
index e0ffe3a9ca..164e15a58b 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-Basic.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-Basic.mdp
@@ -265,7 +265,7 @@ select * from x, y where x.i > y.j and y.k = 10;
       <dxl:ColumnStatistics Mdid="1.52975721.1.1.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.52975721.1.1.3" Name="m" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.52975721.1.1.2" Name="k" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.52975773.1.0" Name="y_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.52975773.1.0" Name="y_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-PartTable.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-PartTable.mdp
index d3992bdc50..d853430b50 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-PartTable.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-InnerSelect-PartTable.mdp
@@ -653,7 +653,7 @@ select * from x, y where x.i > y.j and y.k = 10;
       <dxl:ColumnStatistics Mdid="1.53062540.1.1.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.53062540.1.1.3" Name="m" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.53062540.1.1.2" Name="k" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.53062705.1.0" Name="y_idx_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.53062705.1.0" Name="y_idx_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-PartTable.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-PartTable.mdp
index 3aec3925a1..17762f8b18 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-PartTable.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexApply-PartTable.mdp
@@ -1199,7 +1199,7 @@ ORDER BY 1 asc ;
         <dxl:SumAgg Mdid="0.2114.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16166830.1.0" Name="my_tq_agg_small_ets_end_ts_ix_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.16166830.1.0" Name="my_tq_agg_small_ets_end_ts_ix_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1980.1.0"/>
           <dxl:Opfamily Mdid="0.1980.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProject.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProject.mdp
index 6a269d1901..24b1df776d 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProject.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProject.mdp
@@ -1797,7 +1797,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33012.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.33012.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProjectNoFilt.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProjectNoFilt.mdp
index 6bdf106138..ccd677a131 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProjectNoFilt.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLJWithProjectNoFilt.mdp
@@ -208,7 +208,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.33184.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.33184.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProject.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProject.mdp
index b13caf579c..8cb580ec3a 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProject.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProject.mdp
@@ -966,7 +966,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.32957.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.32957.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProjectNonPart.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProjectNonPart.mdp
index 8c531ac438..62c8b8e5ab 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProjectNonPart.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexNLOJWithProjectNonPart.mdp
@@ -306,7 +306,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33108.1.0" Name="t1_idx_ac" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.33108.1.0" Name="t1_idx_ac" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
           <dxl:Opfamily Mdid="0.12738.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexProbeMergeFilters.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexProbeMergeFilters.mdp
index 6686f1d916..4d4285bbee 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexProbeMergeFilters.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexProbeMergeFilters.mdp
@@ -230,7 +230,7 @@ EXPLAIN SELECT * FROM table_with_two_indices_ao WHERE b = 15 AND c BETWEEN 10000
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.44979.1.0" Name="idx_b_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.44979.1.0" Name="idx_b_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -702,7 +702,7 @@ EXPLAIN SELECT * FROM table_with_two_indices_ao WHERE b = 15 AND c BETWEEN 10000
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="10001"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.45040.1.0" Name="idx_c_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.45040.1.0" Name="idx_c_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexScan-WithUnsupportedOperatorFilter.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexScan-WithUnsupportedOperatorFilter.mdp
index ff44eb1278..96347ad51a 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexScan-WithUnsupportedOperatorFilter.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexScan-WithUnsupportedOperatorFilter.mdp
@@ -614,7 +614,7 @@ inferred from the second operator (c4 = 'f')
           <dxl:Opfamily Mdid="0.3017.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.22226547.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.22226547.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3017.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexScan.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexScan.mdp
index 05ddfe397b..956f1b728e 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexScan.mdp
@@ -197,7 +197,7 @@ see sql/BitmapIndexScan.sql
       <dxl:ColumnStatistics Mdid="1.24702.1.1.12" Name="dataowner" Width="0.000000" NullFreq="1.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false"/>
       <dxl:ColumnStatistics Mdid="1.24702.1.1.5" Name="created_by" Width="0.000000" NullFreq="1.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false"/>
       <dxl:ColumnStatistics Mdid="1.24702.1.1.4" Name="creation_date" Width="4.000000" NullFreq="1.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false"/>
-      <dxl:Index Mdid="0.24762.1.0" Name="inner_table_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.24762.1.0" Name="inner_table_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1988.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexScanChooseIndex.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexScanChooseIndex.mdp
index 9a4efc66a4..788e0e0758 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexScanChooseIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexScanChooseIndex.mdp
@@ -157,7 +157,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.857985.1.0" Name="my_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.857985.1.0" Name="my_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexScanCost.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexScanCost.mdp
index ea19878405..5b3c202dd4 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexScanCost.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexScanCost.mdp
@@ -244,7 +244,7 @@
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.16445.1.0" Name="ix_test_ix01" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.16445.1.0" Name="ix_test_ix01" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapIndexUnsupportedOperator.mdp b/src/backend/gporca/data/dxl/minidump/BitmapIndexUnsupportedOperator.mdp
index 5b2303be69..9cfd3cac9f 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapIndexUnsupportedOperator.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapIndexUnsupportedOperator.mdp
@@ -107,7 +107,7 @@ undefined for Bitmap Index Scan. ORCA should find a plan transforming
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.32784.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.32784.1.0" Name="idx_t_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.10002.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapScan-Hetrogeneous-Partitioned.mdp b/src/backend/gporca/data/dxl/minidump/BitmapScan-Hetrogeneous-Partitioned.mdp
index 4dac0e6eb0..13a61082fc 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapScan-Hetrogeneous-Partitioned.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapScan-Hetrogeneous-Partitioned.mdp
@@ -290,7 +290,7 @@ explain select * from t where b=3;
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.181454.1.0" Name="idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.181454.1.0" Name="idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickIndexWithNoGap.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickIndexWithNoGap.mdp
index f7b67e1da8..d3e7a6afb3 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickIndexWithNoGap.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickIndexWithNoGap.mdp
@@ -530,7 +530,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.55598.1.0" Name="idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.55598.1.0" Name="idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -557,13 +557,13 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="4"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.55603.1.0" Name="idx_ac" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.55603.1.0" Name="idx_ac" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.55602.1.0" Name="idx_abc" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.55602.1.0" Name="idx_abc" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickOnlyHighNDV.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickOnlyHighNDV.mdp
index b072e8abc8..05931f8729 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickOnlyHighNDV.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree-PickOnlyHighNDV.mdp
@@ -72,7 +72,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.49558.1.0" Name="jazz_lo_btree" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.49558.1.0" Name="jazz_lo_btree" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -92,7 +92,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.49554.1.0" Name="jazz_hi" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.49554.1.0" Name="jazz_hi" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree.mdp
index a13cdc7071..9b68d70c24 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO-Btree.mdp
@@ -239,7 +239,7 @@ explain select * from indexonao where a = 21;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="99997"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.22227385.1.0" Name="idx_onao" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3">
+      <dxl:Index Mdid="0.22227385.1.0" Name="idx_onao" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO.mdp
index 5c66faf0ec..3d95e56929 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AO.mdp
@@ -515,7 +515,7 @@ explain select * from t_ao where c2 = 'HEAP';
         <dxl:SumAgg Mdid="0.2111.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.21846783.1.0" Name="idx_t_ao_3" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.21846783.1.0" Name="idx_t_ao_3" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AndCondition.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AndCondition.mdp
index 73f13a87ec..9f89ba935d 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AndCondition.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-AndCondition.mdp
@@ -217,7 +217,7 @@ explain select * from xfoo where j = 1 and k = 2;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.51565282.1.0" Name="idx_jk" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.51565282.1.0" Name="idx_jk" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-Basic.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-Basic.mdp
index 38e421975a..13a51d892d 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-Basic.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-Basic.mdp
@@ -9,7 +9,7 @@
       <dxl:TraceFlags Value="102001,102002,102003,102144,103027,103033"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.9459845.1.0" Name="x2_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.9459845.1.0" Name="x2_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ColumnOnRightSide.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ColumnOnRightSide.mdp
index 95fdecbdb7..41359da3ab 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ColumnOnRightSide.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ColumnOnRightSide.mdp
@@ -258,7 +258,7 @@ SELECT * FROM my_tq_agg_small tq WHERE 110 >= tq.ets;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="1200"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.31763881.1.0" Name="my_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.31763881.1.0" Name="my_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ComplexConjDisj.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ComplexConjDisj.mdp
index c498ed5d6a..e37449b84e 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ComplexConjDisj.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ComplexConjDisj.mdp
@@ -80,7 +80,7 @@
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.55583.1.0" Name="idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.55583.1.0" Name="idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -185,7 +185,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.55587.1.0" Name="idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.55587.1.0" Name="idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ConjDisjWithOuterRefs.mdp b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ConjDisjWithOuterRefs.mdp
index be1528640c..245771ec78 100644
--- a/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ConjDisjWithOuterRefs.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BitmapTableScan-ConjDisjWithOuterRefs.mdp
@@ -142,7 +142,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.55607.1.0" Name="xa" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.55607.1.0" Name="xa" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -229,7 +229,7 @@
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.55604.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.55604.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.55611.1.0" Name="xb" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.55611.1.0" Name="xb" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/BtreeIndexNLJWithProjectNoPart.mdp b/src/backend/gporca/data/dxl/minidump/BtreeIndexNLJWithProjectNoPart.mdp
index 32925c88c0..bac6a2cb4e 100644
--- a/src/backend/gporca/data/dxl/minidump/BtreeIndexNLJWithProjectNoPart.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BtreeIndexNLJWithProjectNoPart.mdp
@@ -728,7 +728,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33097.1.0" Name="t1_idx_ac" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.33097.1.0" Name="t1_idx_ac" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/BtreeIndexNLOJWithProject.mdp b/src/backend/gporca/data/dxl/minidump/BtreeIndexNLOJWithProject.mdp
index 9d6498bce4..827dd29917 100644
--- a/src/backend/gporca/data/dxl/minidump/BtreeIndexNLOJWithProject.mdp
+++ b/src/backend/gporca/data/dxl/minidump/BtreeIndexNLOJWithProject.mdp
@@ -606,7 +606,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33144.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.33144.1.0" Name="foo_1_prt_1_dist_a_part_d_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/CPhysicalParallelUnionAllTest/FallBackToSerialAppend.mdp b/src/backend/gporca/data/dxl/minidump/CPhysicalParallelUnionAllTest/FallBackToSerialAppend.mdp
index e27a3e468c..22c2c30e6d 100644
--- a/src/backend/gporca/data/dxl/minidump/CPhysicalParallelUnionAllTest/FallBackToSerialAppend.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CPhysicalParallelUnionAllTest/FallBackToSerialAppend.mdp
@@ -360,7 +360,7 @@ SELECT * FROM pp WHERE b=2 AND c=2;
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.2435227.1.1.7" Name="cmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.2435227.1.1.6" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.2435371.1.0" Name="pp_1_prt_1_idx" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.2435371.1.0" Name="pp_1_prt_1_idx" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -370,7 +370,7 @@ SELECT * FROM pp WHERE b=2 AND c=2;
           <dxl:Partition Mdid="6.2435371003.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.2435390.1.0" Name="pp_rest_1_idx" IsClustered="false" IndexType="B-tree" KeyColumns="2,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.2435390.1.0" Name="pp_rest_1_idx" IsClustered="false" IndexType="B-tree" KeyColumns="2,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/CapGbCardToSelectCard.mdp b/src/backend/gporca/data/dxl/minidump/CapGbCardToSelectCard.mdp
index a1814f4f3f..d8bfc462ea 100644
--- a/src/backend/gporca/data/dxl/minidump/CapGbCardToSelectCard.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CapGbCardToSelectCard.mdp
@@ -5828,7 +5828,7 @@ group  by item.i_item_id, item.i_item_desc, item.i_current_price;
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.26188.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.26188.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/CastedScalarIf-On-Index-Key.mdp b/src/backend/gporca/data/dxl/minidump/CastedScalarIf-On-Index-Key.mdp
index 9e57605f30..523866bd1c 100644
--- a/src/backend/gporca/data/dxl/minidump/CastedScalarIf-On-Index-Key.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CastedScalarIf-On-Index-Key.mdp
@@ -254,7 +254,7 @@
       <dxl:ColumnStatistics Mdid="1.49155.1.0.1" Name="b" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.49155.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:MDCast Mdid="3.1043.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.1043.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
-      <dxl:Index Mdid="0.49221.1.0" Name="pt_idx_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.49221.1.0" Name="pt_idx_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
@@ -264,7 +264,7 @@
           <dxl:Partition Mdid="6.49221002.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.49238.1.0" Name="pt_idx_1_prt_2" IsClustered="false" IndexType="B-tree" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.49238.1.0" Name="pt_idx_1_prt_2" IsClustered="false" IndexType="B-tree" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/Coalesce-With-Subquery.mdp b/src/backend/gporca/data/dxl/minidump/Coalesce-With-Subquery.mdp
index d629db51ef..7f14d8cf47 100644
--- a/src/backend/gporca/data/dxl/minidump/Coalesce-With-Subquery.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Coalesce-With-Subquery.mdp
@@ -165,12 +165,12 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2698.1.0" Name="pg_tablespace_spcname_index" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.2698.1.0" Name="pg_tablespace_spcname_index" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2672.1.0" Name="pg_database_oid_index" IsClustered="false" KeyColumns="12" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
+      <dxl:Index Mdid="0.2672.1.0" Name="pg_database_oid_index" IsClustered="false" KeyColumns="12" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
@@ -339,12 +339,12 @@
       <dxl:GPDBFunc Mdid="0.1597.1.0" Name="pg_encoding_to_char" ReturnsSet="false" Stability="Stable" IsStrict="true">
         <dxl:ResultType Mdid="0.19.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.2697.1.0" Name="pg_tablespace_oid_index" IsClustered="false" KeyColumns="8" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.2697.1.0" Name="pg_tablespace_oid_index" IsClustered="false" KeyColumns="8" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2671.1.0" Name="pg_database_datname_index" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18">
+      <dxl:Index Mdid="0.2671.1.0" Name="pg_database_datname_index" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/CoerceToDomain.mdp b/src/backend/gporca/data/dxl/minidump/CoerceToDomain.mdp
index bde94e9a0e..556578c91a 100644
--- a/src/backend/gporca/data/dxl/minidump/CoerceToDomain.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CoerceToDomain.mdp
@@ -953,12 +953,12 @@ SELECT * FROM information_schema.tables;
         <dxl:Commutator Mdid="0.607.1.0"/>
         <dxl:InverseOp Mdid="0.608.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="31" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="31" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
@@ -1624,12 +1624,12 @@ SELECT * FROM information_schema.tables;
           <dxl:UpperBound Closed="true" TypeMdid="0.26.1.0" Value="10"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.2685.1.0" Name="pg_namespace_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.2685.1.0" Name="pg_namespace_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2684.1.0" Name="pg_namespace_nspname_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.2684.1.0" Name="pg_namespace_nspname_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/CorrelatedAntiSemiJoin-True.mdp b/src/backend/gporca/data/dxl/minidump/CorrelatedAntiSemiJoin-True.mdp
index cb0116352f..e2676185ad 100644
--- a/src/backend/gporca/data/dxl/minidump/CorrelatedAntiSemiJoin-True.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CorrelatedAntiSemiJoin-True.mdp
@@ -51,12 +51,12 @@ SELECT pn, cn, vn FROM sale s WHERE NOT EXISTS (SELECT * FROM customer WHERE NOT
       <dxl:TraceFlags Value="103027,102024,102025,102115,102116,102120,102128,103001,103014,103015"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.29191877.1.0" Name="customer_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.29191877.1.0" Name="customer_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.29192019.1.0" Name="sale_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.29192019.1.0" Name="sale_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.0.0.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -482,7 +482,7 @@ SELECT pn, cn, vn FROM sale s WHERE NOT EXISTS (SELECT * FROM customer WHERE NOT
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.29191973.1.0" Name="product_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.29191973.1.0" Name="product_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/CorrelatedIN-LeftSemiNotIn-True.mdp b/src/backend/gporca/data/dxl/minidump/CorrelatedIN-LeftSemiNotIn-True.mdp
index e726d00d3b..4bc5c44206 100644
--- a/src/backend/gporca/data/dxl/minidump/CorrelatedIN-LeftSemiNotIn-True.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CorrelatedIN-LeftSemiNotIn-True.mdp
@@ -202,7 +202,7 @@ create table customer
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16404.1.0" Name="customer_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.16404.1.0" Name="customer_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -380,7 +380,7 @@ create table customer
       <dxl:ColumnStatistics Mdid="1.16406.1.0.0" Name="pn" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.16427.1.0.7" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.16427.1.0.6" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.16425.1.0" Name="product_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.16425.1.0" Name="product_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -402,7 +402,7 @@ create table customer
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16441.1.0" Name="sale_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.16441.1.0" Name="sale_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/CorrelatedSemiJoin-True.mdp b/src/backend/gporca/data/dxl/minidump/CorrelatedSemiJoin-True.mdp
index d51f0aa2d4..32ee28ce26 100644
--- a/src/backend/gporca/data/dxl/minidump/CorrelatedSemiJoin-True.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CorrelatedSemiJoin-True.mdp
@@ -51,12 +51,12 @@ SELECT pn, cn, vn FROM sale s WHERE EXISTS (SELECT * FROM customer WHERE EXISTS
       <dxl:TraceFlags Value="102001,102002,102003,102024,102025,102115,102116,102120,102128,102144,103001,103014,103015,103027,103033"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.29191877.1.0" Name="customer_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.29191877.1.0" Name="customer_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.29192019.1.0" Name="sale_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.29192019.1.0" Name="sale_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.0.0.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -481,7 +481,7 @@ SELECT pn, cn, vn FROM sale s WHERE EXISTS (SELECT * FROM customer WHERE EXISTS
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.29191973.1.0" Name="product_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.29191973.1.0" Name="product_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp b/src/backend/gporca/data/dxl/minidump/CoveringIndex-1.mdp
similarity index 64%
copy from src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
copy to src/backend/gporca/data/dxl/minidump/CoveringIndex-1.mdp
index 0ca91dec8f..6e51bc41b3 100644
--- a/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CoveringIndex-1.mdp
@@ -1,19 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <dxl:DXLMessage xmlns:dxl="http://greenplum.com/dxl/2010/12/">
   <dxl:Comment><![CDATA[
-            Objective: Generate plan using hash indexes in ORCA by using indexscan operator.
+    Objective: Choose Index-Only Scan when predicate contains index keys and
+    project list contains "payload" keys. In following setup index keys are 'd'
+    and 'e' whereas payload keys are 'a' and 'b'
 
-            create table foo(a int, b int);
-            create index idx1 on foo using hash(b);
-            explain select * from foo where b=2;
+      CREATE TABLE t(a int, b int, c int, d int, e int);
+      CREATE INDEX ON t(d, e) INCLUDE (a, b);
+      INSERT INTO t SELECT i, i, i, i, i FROM generate_series(1, 1000)i;
+      VACUUM t;
 
-                                             QUERY PLAN
-            ----------------------------------------------------------------------------
-             Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..6.00 rows=1 width=8)
-               ->  Index Scan using idx1 on foo  (cost=0.00..6.00 rows=1 width=8)
-                     Index Cond: (b = 2)
-             Optimizer: Pivotal Optimizer (GPORCA)
-            (4 rows)
+      EXPLAIN SELECT a, b FROM t WHERE d>42 AND e<52;
   ]]>
   </dxl:Comment>
   <dxl:Thread Id="0">
@@ -28,9 +25,22 @@
         </dxl:CostParams>
       </dxl:CostModelConfig>
       <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="20" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="100000" EnforceConstraintsOnDML="false" PushGroupByBelowSetopThreshold="10" XformBindThreshold="0" SkewFactor="0"/>
-      <dxl:TraceFlags Value="101013,102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,106000"/>
+      <dxl:TraceFlags Value="102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,105000,106000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
+      <dxl:GPDBScalarOp Mdid="0.521.1.0" Name="&gt;" ComparisonType="GT" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
+        <dxl:LeftType Mdid="0.23.1.0"/>
+        <dxl:RightType Mdid="0.23.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.147.1.0"/>
+        <dxl:Commutator Mdid="0.97.1.0"/>
+        <dxl:InverseOp Mdid="0.523.1.0"/>
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.4054.1.0"/>
+          <dxl:Opfamily Mdid="0.10009.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:GPDBScalarOp>
       <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="1" PassByValue="true">
         <dxl:DistrOpfamily Mdid="0.2222.1.0"/>
         <dxl:LegacyDistrOpfamily Mdid="0.7124.1.0"/>
@@ -48,7 +58,6 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:RelationExtendedStatistics Mdid="10.52420.1.0" Name="foo"/>
       <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
         <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         <dxl:LegacyDistrOpfamily Mdid="0.7100.1.0"/>
@@ -66,8 +75,12 @@
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:ColumnStatistics Mdid="1.52420.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:ColumnStatistics Mdid="1.52420.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:Index Mdid="7.65569.1.0" Name="t_d_e_a_b_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3,4" IncludedColumns="0,1">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
       <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
         <dxl:DistrOpfamily Mdid="0.1990.1.0"/>
         <dxl:LegacyDistrOpfamily Mdid="0.7109.1.0"/>
@@ -134,25 +147,8 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:GPDBScalarOp Mdid="0.96.1.0" Name="=" ComparisonType="Eq" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
-        <dxl:LeftType Mdid="0.23.1.0"/>
-        <dxl:RightType Mdid="0.23.1.0"/>
-        <dxl:ResultType Mdid="0.16.1.0"/>
-        <dxl:OpFunc Mdid="0.65.1.0"/>
-        <dxl:Commutator Mdid="0.96.1.0"/>
-        <dxl:InverseOp Mdid="0.518.1.0"/>
-        <dxl:HashOpfamily Mdid="0.1977.1.0"/>
-        <dxl:LegacyHashOpfamily Mdid="0.7100.1.0"/>
-        <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.1976.1.0"/>
-          <dxl:Opfamily Mdid="0.1977.1.0"/>
-          <dxl:Opfamily Mdid="0.4054.1.0"/>
-          <dxl:Opfamily Mdid="0.7100.1.0"/>
-          <dxl:Opfamily Mdid="0.10009.1.0"/>
-        </dxl:Opfamilies>
-      </dxl:GPDBScalarOp>
-      <dxl:RelationStatistics Mdid="2.52420.1.0" Name="foo" Rows="0.000000" RelPages="0" RelAllVisible="0" EmptyRelation="true"/>
-      <dxl:Relation Mdid="6.52420.1.0" Name="foo" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2">
+      <dxl:RelationStatistics Mdid="2.65566.1.0" Name="t" Rows="1000.000000" RelPages="3" RelAllVisible="3" EmptyRelation="false"/>
+      <dxl:Relation Mdid="6.65566.1.0" Name="t" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="11,5">
         <dxl:Columns>
           <dxl:Column Name="a" Attno="1" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
             <dxl:DefaultValue/>
@@ -160,6 +156,15 @@
           <dxl:Column Name="b" Attno="2" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
+          <dxl:Column Name="c" Attno="3" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="d" Attno="4" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="e" Attno="5" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
           <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
             <dxl:DefaultValue/>
           </dxl:Column>
@@ -183,18 +188,30 @@
           </dxl:Column>
         </dxl:Columns>
         <dxl:IndexInfoList>
-          <dxl:IndexInfo Mdid="7.52423.1.0" IsPartial="false"/>
+          <dxl:IndexInfo Mdid="7.65569.1.0" IsPartial="false"/>
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
         <dxl:DistrOpfamilies>
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.52423.1.0" Name="idx1" IsClustered="false" IndexType="Hash" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:ColumnStatistics Mdid="1.65566.1.0.4" Name="e" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:RelationExtendedStatistics Mdid="10.65566.1.0" Name="t"/>
+      <dxl:ColumnStatistics Mdid="1.65566.1.0.3" Name="d" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:GPDBScalarOp Mdid="0.97.1.0" Name="&lt;" ComparisonType="LT" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
+        <dxl:LeftType Mdid="0.23.1.0"/>
+        <dxl:RightType Mdid="0.23.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.66.1.0"/>
+        <dxl:Commutator Mdid="0.521.1.0"/>
+        <dxl:InverseOp Mdid="0.525.1.0"/>
         <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.1977.1.0"/>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.4054.1.0"/>
+          <dxl:Opfamily Mdid="0.10009.1.0"/>
         </dxl:Opfamilies>
-      </dxl:Index>
+      </dxl:GPDBScalarOp>
+      <dxl:ColumnStatistics Mdid="1.65566.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
     </dxl:Metadata>
     <dxl:Query>
       <dxl:OutputColumns>
@@ -203,22 +220,31 @@
       </dxl:OutputColumns>
       <dxl:CTEList/>
       <dxl:LogicalSelect>
-        <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.96.1.0">
-          <dxl:Ident ColId="2" ColName="b" TypeMdid="0.23.1.0"/>
-          <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-        </dxl:Comparison>
+        <dxl:And>
+          <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+            <dxl:Ident ColId="4" ColName="d" TypeMdid="0.23.1.0"/>
+            <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
+          </dxl:Comparison>
+          <dxl:Comparison ComparisonOperator="&lt;" OperatorMdid="0.97.1.0">
+            <dxl:Ident ColId="5" ColName="e" TypeMdid="0.23.1.0"/>
+            <dxl:ConstValue TypeMdid="0.23.1.0" Value="52"/>
+          </dxl:Comparison>
+        </dxl:And>
         <dxl:LogicalGet>
-          <dxl:TableDescriptor Mdid="6.52420.1.0" TableName="foo" LockMode="1">
+          <dxl:TableDescriptor Mdid="6.65566.1.0" TableName="t" LockMode="1">
             <dxl:Columns>
               <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/>
               <dxl:Column ColId="2" Attno="2" ColName="b" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="3" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
-              <dxl:Column ColId="4" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="5" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="6" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="7" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="8" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
-              <dxl:Column ColId="9" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="3" Attno="3" ColName="c" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="4" Attno="4" ColName="d" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="5" Attno="5" ColName="e" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="6" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+              <dxl:Column ColId="7" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="8" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="9" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="10" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="11" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+              <dxl:Column ColId="12" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
             </dxl:Columns>
           </dxl:TableDescriptor>
         </dxl:LogicalGet>
@@ -227,7 +253,7 @@
     <dxl:Plan Id="0" SpaceSize="3">
       <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1">
         <dxl:Properties>
-          <dxl:Cost StartupCost="0" TotalCost="6.000136" Rows="1.000000" Width="8"/>
+          <dxl:Cost StartupCost="0" TotalCost="0.058531" Rows="284.444444" Width="8"/>
         </dxl:Properties>
         <dxl:ProjList>
           <dxl:ProjElem ColId="0" Alias="a">
@@ -239,9 +265,9 @@
         </dxl:ProjList>
         <dxl:Filter/>
         <dxl:SortingColumnList/>
-        <dxl:IndexScan IndexScanDirection="Forward">
+        <dxl:IndexOnlyScan IndexScanDirection="Forward">
           <dxl:Properties>
-            <dxl:Cost StartupCost="0" TotalCost="6.000101" Rows="1.000000" Width="8"/>
+            <dxl:Cost StartupCost="0" TotalCost="0.048640" Rows="284.444444" Width="8"/>
           </dxl:Properties>
           <dxl:ProjList>
             <dxl:ProjElem ColId="0" Alias="a">
@@ -253,27 +279,33 @@
           </dxl:ProjList>
           <dxl:Filter/>
           <dxl:IndexCondList>
-            <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.96.1.0">
-              <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
+            <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+              <dxl:Ident ColId="3" ColName="d" TypeMdid="0.23.1.0"/>
+              <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
+            </dxl:Comparison>
+            <dxl:Comparison ComparisonOperator="&lt;" OperatorMdid="0.97.1.0">
+              <dxl:Ident ColId="4" ColName="e" TypeMdid="0.23.1.0"/>
+              <dxl:ConstValue TypeMdid="0.23.1.0" Value="52"/>
             </dxl:Comparison>
           </dxl:IndexCondList>
           <dxl:Partitions/>
-          <dxl:IndexDescriptor Mdid="7.52423.1.0" IndexName="idx1"/>
-          <dxl:TableDescriptor Mdid="6.52420.1.0" TableName="foo" LockMode="1">
+          <dxl:IndexDescriptor Mdid="7.65569.1.0" IndexName="t_d_e_a_b_idx"/>
+          <dxl:TableDescriptor Mdid="6.65566.1.0" TableName="t" LockMode="1">
             <dxl:Columns>
               <dxl:Column ColId="0" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/>
               <dxl:Column ColId="1" Attno="2" ColName="b" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="2" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
-              <dxl:Column ColId="3" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="4" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="5" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="6" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="7" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
-              <dxl:Column ColId="8" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="3" Attno="4" ColName="d" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="4" Attno="5" ColName="e" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="5" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+              <dxl:Column ColId="6" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="7" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="8" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="9" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="10" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+              <dxl:Column ColId="11" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
             </dxl:Columns>
           </dxl:TableDescriptor>
-        </dxl:IndexScan>
+        </dxl:IndexOnlyScan>
       </dxl:GatherMotion>
     </dxl:Plan>
   </dxl:Thread>
diff --git a/src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp b/src/backend/gporca/data/dxl/minidump/CoveringIndex-2.mdp
similarity index 74%
copy from src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp
copy to src/backend/gporca/data/dxl/minidump/CoveringIndex-2.mdp
index d897653dd5..8e26626c86 100644
--- a/src/backend/gporca/data/dxl/minidump/ArrayCmpInList.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CoveringIndex-2.mdp
@@ -1,59 +1,65 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <dxl:DXLMessage xmlns:dxl="http://greenplum.com/dxl/2010/12/">
   <dxl:Comment><![CDATA[
-	  Test case: Plan should pick up BitmapTable Scan even if IN list is
-	  larger than the `optimizer_array_expansion_threshold`
+    Objective: Choose Index-Only Scan when predicate includes mix of index keys
+    and "payload" keys. In following setup index keys are 'd' and 'e' whereas
+    payload keys are 'a' and 'b'
 
-        create table foo(a int, b int);
-	create index idx_a on foo using bitmap(a);
-	create index idx_b on foo using bitmap(b);
-	insert into foo select i,i from generate_series(1,100000)i;
-	analyze foo;
-	set optimizer_array_expansion_threshold to 3;
-	explain select * from foo where a in (1,2,3,4,5) and b in (1,2,3,4,5);
+      CREATE TABLE t(a int, b int, c int, d int, e int);
+      CREATE INDEX ON t(d, e) INCLUDE (a, b);
+      INSERT INTO t SELECT i, i, i, i, i FROM generate_series(1, 1000)i;
+      VACUUM t;
 
-                                QUERY PLAN
------------------------------------------------------------------------------------------------------
- Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..431.00 rows=1 width=8)
-   ->  Bitmap Table Scan on foo  (cost=0.00..431.00 rows=1 width=8)
-         Recheck Cond: (a = ANY ('{1,2,3,4,5}'::integer[])) AND (b = ANY ('{1,2,3,4,5}'::integer[]))
-         ->  BitmapAnd  (cost=0.00..0.00 rows=0 width=0)
-               ->  Bitmap Index Scan on idx_a  (cost=0.00..0.00 rows=0 width=0)
-                     Index Cond: a = ANY ('{1,2,3,4,5}'::integer[])
-               ->  Bitmap Index Scan on idx_b  (cost=0.00..0.00 rows=0 width=0)
-                     Index Cond: b = ANY ('{1,2,3,4,5}'::integer[])
- Settings:  optimizer_array_expansion_threshold=3
- Optimizer status: PQO version 3.45.0
-    
-     ]]>
+      EXPLAIN SELECT a, b FROM t WHERE a>42 AND e>42;
+  ]]>
   </dxl:Comment>
   <dxl:Thread Id="0">
     <dxl:OptimizerConfig>
       <dxl:EnumeratorConfig Id="0" PlanSamples="0" CostThreshold="0"/>
-      <dxl:StatisticsConfig DampingFactorFilter="0.750000" DampingFactorJoin="0.010000" DampingFactorGroupBy="0.750000" MaxStatsBuckets="100"/>
+      <dxl:StatisticsConfig DampingFactorFilter="0.750000" DampingFactorJoin="0.000000" DampingFactorGroupBy="0.750000" MaxStatsBuckets="100"/>
       <dxl:CTEConfig CTEInliningCutoff="0"/>
-      <dxl:WindowOids RowNumber="7000" Rank="7001"/>
+      <dxl:WindowOids RowNumber="3100" Rank="3101"/>
       <dxl:CostModelConfig CostModelType="1" SegmentsForCosting="3">
         <dxl:CostParams>
           <dxl:CostParam Name="NLJFactor" Value="1024.000000" LowerBound="1023.500000" UpperBound="1024.500000"/>
         </dxl:CostParams>
       </dxl:CostModelConfig>
-      <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="3" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="100000" EnforceConstraintsOnDML="false"/>
-      <dxl:TraceFlags Value="101013,102001,102002,102003,102074,102113,102120,102144,103001,103014,103015,103022,103027,103029,103033,104003,104004,104005,105000"/>
+      <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="20" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="100000" EnforceConstraintsOnDML="false" PushGroupByBelowSetopThreshold="10" XformBindThreshold="0" SkewFactor="0"/>
+      <dxl:TraceFlags Value="102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,105000,106000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.123270.1.0" Name="idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
-        <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.3027.1.0"/>
-        </dxl:Opfamilies>
-      </dxl:Index>
-      <dxl:Index Mdid="0.123266.1.0" Name="idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:GPDBScalarOp Mdid="0.521.1.0" Name="&gt;" ComparisonType="GT" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
+        <dxl:LeftType Mdid="0.23.1.0"/>
+        <dxl:RightType Mdid="0.23.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.147.1.0"/>
+        <dxl:Commutator Mdid="0.97.1.0"/>
+        <dxl:InverseOp Mdid="0.523.1.0"/>
         <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.3027.1.0"/>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.4054.1.0"/>
+          <dxl:Opfamily Mdid="0.10009.1.0"/>
         </dxl:Opfamilies>
-      </dxl:Index>
-      <dxl:RelationStatistics Mdid="2.122880.1.0" Name="foo" Rows="100039.000000" EmptyRelation="false"/>
-      <dxl:Relation Mdid="6.122880.1.0" Name="foo" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2">
+      </dxl:GPDBScalarOp>
+      <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="1" PassByValue="true">
+        <dxl:DistrOpfamily Mdid="0.2222.1.0"/>
+        <dxl:LegacyDistrOpfamily Mdid="0.7124.1.0"/>
+        <dxl:EqualityOp Mdid="0.91.1.0"/>
+        <dxl:InequalityOp Mdid="0.85.1.0"/>
+        <dxl:LessThanOp Mdid="0.58.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.1694.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.59.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.1695.1.0"/>
+        <dxl:ComparisonOp Mdid="0.1693.1.0"/>
+        <dxl:ArrayType Mdid="0.1000.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:RelationStatistics Mdid="2.65572.1.0" Name="t" Rows="1000.000000" RelPages="3" RelAllVisible="0" EmptyRelation="false"/>
+      <dxl:Relation Mdid="6.65572.1.0" Name="t" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="11,5">
         <dxl:Columns>
           <dxl:Column Name="a" Attno="1" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
             <dxl:DefaultValue/>
@@ -61,50 +67,48 @@
           <dxl:Column Name="b" Attno="2" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
+          <dxl:Column Name="c" Attno="3" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="d" Attno="4" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="e" Attno="5" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
           <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
             <dxl:DefaultValue/>
           </dxl:Column>
-          <dxl:Column Name="xmin" Attno="-3" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+          <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
-          <dxl:Column Name="cmin" Attno="-4" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+          <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
-          <dxl:Column Name="xmax" Attno="-5" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+          <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
-          <dxl:Column Name="cmax" Attno="-6" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+          <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
-          <dxl:Column Name="tableoid" Attno="-7" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+          <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
-          <dxl:Column Name="gp_segment_id" Attno="-8" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+          <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
             <dxl:DefaultValue/>
           </dxl:Column>
         </dxl:Columns>
         <dxl:IndexInfoList>
-          <dxl:IndexInfo Mdid="0.123266.1.0" IsPartial="false"/>
-          <dxl:IndexInfo Mdid="0.123270.1.0" IsPartial="false"/>
+          <dxl:IndexInfo Mdid="7.65575.1.0" IsPartial="false"/>
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
+        <dxl:DistrOpfamilies>
+          <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
+        </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="1" PassByValue="true">
-        <dxl:EqualityOp Mdid="0.91.1.0"/>
-        <dxl:InequalityOp Mdid="0.85.1.0"/>
-        <dxl:LessThanOp Mdid="0.58.1.0"/>
-        <dxl:LessThanEqualsOp Mdid="0.1694.1.0"/>
-        <dxl:GreaterThanOp Mdid="0.59.1.0"/>
-        <dxl:GreaterThanEqualsOp Mdid="0.1695.1.0"/>
-        <dxl:ComparisonOp Mdid="0.1693.1.0"/>
-        <dxl:ArrayType Mdid="0.1000.1.0"/>
-        <dxl:MinAgg Mdid="0.0.0.0"/>
-        <dxl:MaxAgg Mdid="0.0.0.0"/>
-        <dxl:AvgAgg Mdid="0.0.0.0"/>
-        <dxl:SumAgg Mdid="0.0.0.0"/>
-        <dxl:CountAgg Mdid="0.2147.1.0"/>
-      </dxl:Type>
-      <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+      <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
+        <dxl:LegacyDistrOpfamily Mdid="0.7100.1.0"/>
         <dxl:EqualityOp Mdid="0.96.1.0"/>
         <dxl:InequalityOp Mdid="0.518.1.0"/>
         <dxl:LessThanOp Mdid="0.97.1.0"/>
@@ -119,7 +123,9 @@
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+      <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:DistrOpfamily Mdid="0.1990.1.0"/>
+        <dxl:LegacyDistrOpfamily Mdid="0.7109.1.0"/>
         <dxl:EqualityOp Mdid="0.607.1.0"/>
         <dxl:InequalityOp Mdid="0.608.1.0"/>
         <dxl:LessThanOp Mdid="0.609.1.0"/>
@@ -128,13 +134,15 @@
         <dxl:GreaterThanEqualsOp Mdid="0.612.1.0"/>
         <dxl:ComparisonOp Mdid="0.356.1.0"/>
         <dxl:ArrayType Mdid="0.1028.1.0"/>
-        <dxl:MinAgg Mdid="0.2118.1.0"/>
-        <dxl:MaxAgg Mdid="0.2134.1.0"/>
+        <dxl:MinAgg Mdid="0.2134.1.0"/>
+        <dxl:MaxAgg Mdid="0.2118.1.0"/>
         <dxl:AvgAgg Mdid="0.0.0.0"/>
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Type Mdid="0.27.1.0" Name="tid" IsRedistributable="true" IsHashable="false" IsMergeJoinable="false" IsComposite="false" IsFixedLength="true" Length="6" PassByValue="false">
+      <dxl:Type Mdid="0.27.1.0" Name="tid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="6" PassByValue="false">
+        <dxl:DistrOpfamily Mdid="0.2227.1.0"/>
+        <dxl:LegacyDistrOpfamily Mdid="0.7110.1.0"/>
         <dxl:EqualityOp Mdid="0.387.1.0"/>
         <dxl:InequalityOp Mdid="0.402.1.0"/>
         <dxl:LessThanOp Mdid="0.2799.1.0"/>
@@ -149,7 +157,8 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Type Mdid="0.29.1.0" Name="cid" IsRedistributable="false" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+      <dxl:Type Mdid="0.29.1.0" Name="cid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:DistrOpfamily Mdid="0.2226.1.0"/>
         <dxl:EqualityOp Mdid="0.385.1.0"/>
         <dxl:InequalityOp Mdid="0.0.0.0"/>
         <dxl:LessThanOp Mdid="0.0.0.0"/>
@@ -164,9 +173,10 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Type Mdid="0.28.1.0" Name="xid" IsRedistributable="false" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+      <dxl:Type Mdid="0.28.1.0" Name="xid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:DistrOpfamily Mdid="0.2225.1.0"/>
         <dxl:EqualityOp Mdid="0.352.1.0"/>
-        <dxl:InequalityOp Mdid="0.0.0.0"/>
+        <dxl:InequalityOp Mdid="0.3315.1.0"/>
         <dxl:LessThanOp Mdid="0.0.0.0"/>
         <dxl:LessThanEqualsOp Mdid="0.0.0.0"/>
         <dxl:GreaterThanOp Mdid="0.0.0.0"/>
@@ -179,823 +189,830 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:ColumnStatistics Mdid="1.122880.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false">
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="5"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="982"/>
+      <dxl:Index Mdid="7.65575.1.0" Name="t_d_e_a_b_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3,4" IncludedColumns="0,1">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
+      <dxl:ColumnStatistics Mdid="1.65572.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false">
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="1"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="10"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="982"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="1988"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="10"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="20"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="1988"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="2959"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="20"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="30"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="2959"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="3926"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="30"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="40"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="3926"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="4824"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="40"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="4824"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="5858"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="60"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="5858"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="6814"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="60"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="70"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="6814"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="7790"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="70"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="80"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="7790"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="8774"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="80"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="90"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="8774"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="9794"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="90"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="100"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="9794"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="10724"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="100"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="110"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="10724"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="11759"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="110"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="120"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="11759"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="12797"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="120"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="130"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="12797"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="13902"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="130"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="140"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="13902"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="14827"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="140"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="150"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="14827"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="15743"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="150"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="160"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="15743"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="16706"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="160"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="170"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="16706"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="17712"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="170"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="180"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="17712"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="18707"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="180"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="190"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="18707"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="19792"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="190"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="200"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="19792"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="20847"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="200"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="210"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="20847"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="21846"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="210"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="220"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="21846"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="22841"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="220"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="230"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="22841"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="23955"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="230"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="240"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="23955"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="24903"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="240"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="250"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="24903"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="25935"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="250"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="260"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="25935"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="26957"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="260"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="270"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="26957"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="28004"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="270"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="280"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="28004"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="28964"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="280"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="290"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="28964"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="29920"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="290"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="300"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="29920"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="30919"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="300"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="310"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="30919"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="31952"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="310"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="320"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="31952"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="32962"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="320"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="330"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="32962"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="33996"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="330"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="340"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="33996"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="34942"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="340"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="350"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="34942"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="35999"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="350"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="360"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="35999"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="37056"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="360"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="370"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="37056"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="38091"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="370"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="380"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="38091"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="39122"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="380"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="390"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="39122"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="40088"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="390"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="400"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="40088"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="41092"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="400"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="410"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="41092"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="42063"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="410"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="420"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="42063"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="43077"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="420"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="430"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="43077"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="44112"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="430"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="440"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="44112"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="45089"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="440"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="450"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="45089"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="46117"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="450"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="460"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="46117"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="47099"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="460"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="470"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="47099"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="48092"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="470"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="480"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="48092"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="49054"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="480"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="490"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="49054"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50049"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="490"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="500"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50049"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50981"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="500"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="510"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50981"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="52015"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="510"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="520"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="52015"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="53058"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="520"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="530"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="53058"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="54075"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="530"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="540"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="54075"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="55113"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="540"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="550"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="55113"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="56118"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="550"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="560"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="56118"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="57225"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="560"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="570"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="57225"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="58179"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="570"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="580"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="58179"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="59188"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="580"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="590"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="59188"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="60229"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="590"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="600"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="60229"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="61263"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="600"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="610"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="61263"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="62221"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="610"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="620"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="62221"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="63214"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="620"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="630"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="63214"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="64156"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="630"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="640"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="64156"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="65111"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="640"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="650"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="65111"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="66134"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="650"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="660"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="66134"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="67177"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="660"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="670"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="67177"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="68235"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="670"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="680"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="68235"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="69305"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="680"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="690"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="69305"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="70240"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="690"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="700"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="70240"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="71256"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="700"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="710"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="71256"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="72271"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="710"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="720"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="72271"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="73259"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="720"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="730"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="73259"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="74272"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="730"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="740"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="74272"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="75225"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="740"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="750"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="75225"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="76186"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="750"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="760"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="76186"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="77216"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="760"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="770"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="77216"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="78208"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="770"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="780"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="78208"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="79171"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="780"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="790"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="79171"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="80190"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="790"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="800"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="80190"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="81151"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="800"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="810"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="81151"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="82106"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="810"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="820"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="82106"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="83094"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="820"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="830"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="83094"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="84076"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="830"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="840"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="84076"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="85134"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="840"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="850"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="85134"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="86165"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="850"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="860"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="86165"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="87159"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="860"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="870"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="87159"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="88250"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="870"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="880"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="88250"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="89245"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="880"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="890"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="89245"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="90233"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="890"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="900"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="90233"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="91219"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="900"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="910"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="91219"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="92186"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="910"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="920"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="92186"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="93106"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="920"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="930"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="93106"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="94090"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="930"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="940"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="94090"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="95109"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="940"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="950"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="95109"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="96052"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="950"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="960"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="96052"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="97003"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="960"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="970"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="97003"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="97991"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="970"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="980"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="97991"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="98955"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="980"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="990"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="98955"/>
-          <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="99999"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="990"/>
+          <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="1000"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:ColumnStatistics Mdid="1.122880.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false">
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="5"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="982"/>
+      <dxl:GPDBScalarOp Mdid="0.97.1.0" Name="&lt;" ComparisonType="LT" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
+        <dxl:LeftType Mdid="0.23.1.0"/>
+        <dxl:RightType Mdid="0.23.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.66.1.0"/>
+        <dxl:Commutator Mdid="0.521.1.0"/>
+        <dxl:InverseOp Mdid="0.525.1.0"/>
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.4054.1.0"/>
+          <dxl:Opfamily Mdid="0.10009.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:GPDBScalarOp>
+      <dxl:ColumnStatistics Mdid="1.65572.1.0.4" Name="e" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false">
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="1"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="10"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="982"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="1988"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="10"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="20"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="1988"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="2959"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="20"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="30"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="2959"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="3926"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="30"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="40"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="3926"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="4824"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="40"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="4824"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="5858"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="60"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="5858"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="6814"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="60"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="70"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="6814"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="7790"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="70"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="80"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="7790"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="8774"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="80"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="90"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="8774"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="9794"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="90"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="100"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="9794"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="10724"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="100"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="110"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="10724"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="11759"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="110"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="120"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="11759"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="12797"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="120"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="130"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="12797"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="13902"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="130"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="140"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="13902"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="14827"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="140"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="150"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="14827"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="15743"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="150"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="160"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="15743"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="16706"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="160"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="170"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="16706"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="17712"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="170"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="180"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="17712"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="18707"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="180"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="190"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="18707"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="19792"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="190"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="200"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="19792"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="20847"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="200"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="210"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="20847"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="21846"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="210"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="220"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="21846"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="22841"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="220"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="230"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="22841"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="23955"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="230"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="240"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="23955"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="24903"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="240"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="250"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="24903"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="25935"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="250"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="260"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="25935"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="26957"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="260"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="270"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="26957"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="28004"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="270"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="280"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="28004"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="28964"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="280"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="290"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="28964"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="29920"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="290"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="300"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="29920"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="30919"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="300"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="310"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="30919"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="31952"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="310"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="320"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="31952"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="32962"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="320"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="330"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="32962"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="33996"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="330"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="340"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="33996"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="34942"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="340"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="350"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="34942"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="35999"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="350"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="360"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="35999"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="37056"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="360"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="370"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="37056"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="38091"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="370"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="380"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="38091"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="39122"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="380"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="390"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="39122"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="40088"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="390"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="400"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="40088"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="41092"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="400"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="410"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="41092"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="42063"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="410"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="420"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="42063"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="43077"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="420"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="430"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="43077"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="44112"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="430"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="440"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="44112"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="45089"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="440"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="450"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="45089"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="46117"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="450"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="460"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="46117"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="47099"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="460"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="470"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="47099"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="48092"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="470"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="480"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="48092"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="49054"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="480"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="490"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="49054"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50049"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="490"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="500"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50049"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50981"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="500"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="510"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50981"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="52015"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="510"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="520"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="52015"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="53058"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="520"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="530"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="53058"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="54075"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="530"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="540"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="54075"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="55113"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="540"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="550"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="55113"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="56118"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="550"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="560"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="56118"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="57225"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="560"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="570"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="57225"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="58179"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="570"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="580"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="58179"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="59188"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="580"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="590"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="59188"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="60229"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="590"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="600"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="60229"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="61263"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="600"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="610"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="61263"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="62221"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="610"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="620"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="62221"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="63214"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="620"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="630"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="63214"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="64156"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="630"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="640"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="64156"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="65111"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="640"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="650"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="65111"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="66134"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="650"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="660"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="66134"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="67177"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="660"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="670"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="67177"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="68235"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="670"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="680"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="68235"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="69305"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="680"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="690"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="69305"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="70240"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="690"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="700"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="70240"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="71256"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="700"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="710"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="71256"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="72271"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="710"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="720"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="72271"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="73259"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="720"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="730"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="73259"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="74272"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="730"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="740"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="74272"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="75225"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="740"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="750"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="75225"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="76186"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="750"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="760"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="76186"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="77216"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="760"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="770"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="77216"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="78208"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="770"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="780"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="78208"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="79171"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="780"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="790"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="79171"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="80190"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="790"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="800"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="80190"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="81151"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="800"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="810"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="81151"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="82106"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="810"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="820"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="82106"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="83094"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="820"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="830"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="83094"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="84076"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="830"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="840"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="84076"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="85134"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="840"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="850"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="85134"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="86165"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="850"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="860"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="86165"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="87159"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="860"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="870"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="87159"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="88250"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="870"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="880"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="88250"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="89245"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="880"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="890"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="89245"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="90233"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="890"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="900"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="90233"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="91219"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="900"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="910"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="91219"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="92186"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="910"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="920"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="92186"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="93106"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="920"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="930"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="93106"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="94090"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="930"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="940"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="94090"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="95109"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="940"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="950"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="95109"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="96052"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="950"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="960"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="96052"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="97003"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="960"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="970"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="97003"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="97991"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="970"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="980"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="97991"/>
-          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="98955"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="980"/>
+          <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="990"/>
         </dxl:StatsBucket>
-        <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.390000">
-          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="98955"/>
-          <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="99999"/>
+        <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="990"/>
+          <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="1000"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:GPDBScalarOp Mdid="0.96.1.0" Name="=" ComparisonType="Eq" ReturnsNullOnNullInput="true">
-        <dxl:LeftType Mdid="0.23.1.0"/>
-        <dxl:RightType Mdid="0.23.1.0"/>
-        <dxl:ResultType Mdid="0.16.1.0"/>
-        <dxl:OpFunc Mdid="0.65.1.0"/>
-        <dxl:Commutator Mdid="0.96.1.0"/>
-        <dxl:InverseOp Mdid="0.518.1.0"/>
-        <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.1976.1.0"/>
-          <dxl:Opfamily Mdid="0.1977.1.0"/>
-          <dxl:Opfamily Mdid="0.3027.1.0"/>
-        </dxl:Opfamilies>
-      </dxl:GPDBScalarOp>
+      <dxl:RelationExtendedStatistics Mdid="10.65572.1.0" Name="t"/>
     </dxl:Metadata>
     <dxl:Query>
       <dxl:OutputColumns>
@@ -1005,48 +1022,39 @@
       <dxl:CTEList/>
       <dxl:LogicalSelect>
         <dxl:And>
-          <dxl:ArrayComp OperatorName="=" OperatorMdid="0.96.1.0" OperatorType="Any">
+          <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
             <dxl:Ident ColId="1" ColName="a" TypeMdid="0.23.1.0"/>
-            <dxl:Array ArrayType="0.1007.1.0" ElementType="0.23.1.0" MultiDimensional="false">
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="1"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="3"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="4"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="5"/>
-            </dxl:Array>
-          </dxl:ArrayComp>
-          <dxl:ArrayComp OperatorName="=" OperatorMdid="0.96.1.0" OperatorType="Any">
-            <dxl:Ident ColId="2" ColName="b" TypeMdid="0.23.1.0"/>
-            <dxl:Array ArrayType="0.1007.1.0" ElementType="0.23.1.0" MultiDimensional="false">
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="1"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="3"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="4"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="5"/>
-            </dxl:Array>
-          </dxl:ArrayComp>
+            <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
+          </dxl:Comparison>
+          <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+            <dxl:Ident ColId="5" ColName="e" TypeMdid="0.23.1.0"/>
+            <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
+          </dxl:Comparison>
         </dxl:And>
         <dxl:LogicalGet>
-          <dxl:TableDescriptor Mdid="6.122880.1.0" TableName="foo">
+          <dxl:TableDescriptor Mdid="6.65572.1.0" TableName="t" LockMode="1">
             <dxl:Columns>
               <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/>
               <dxl:Column ColId="2" Attno="2" ColName="b" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="3" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
-              <dxl:Column ColId="4" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="5" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="6" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="7" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="8" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
-              <dxl:Column ColId="9" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="3" Attno="3" ColName="c" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="4" Attno="4" ColName="d" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="5" Attno="5" ColName="e" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="6" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+              <dxl:Column ColId="7" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="8" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="9" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="10" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="11" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+              <dxl:Column ColId="12" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
             </dxl:Columns>
           </dxl:TableDescriptor>
         </dxl:LogicalGet>
       </dxl:LogicalSelect>
     </dxl:Query>
-    <dxl:Plan Id="0" SpaceSize="2">
+    <dxl:Plan Id="0" SpaceSize="3">
       <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1">
         <dxl:Properties>
-          <dxl:Cost StartupCost="0" TotalCost="431.060475" Rows="1.000000" Width="8"/>
+          <dxl:Cost StartupCost="0" TotalCost="6.207420" Rows="957.000000" Width="8"/>
         </dxl:Properties>
         <dxl:ProjList>
           <dxl:ProjElem ColId="0" Alias="a">
@@ -1058,9 +1066,9 @@
         </dxl:ProjList>
         <dxl:Filter/>
         <dxl:SortingColumnList/>
-        <dxl:BitmapTableScan>
+        <dxl:IndexScan IndexScanDirection="Forward">
           <dxl:Properties>
-            <dxl:Cost StartupCost="0" TotalCost="431.060440" Rows="1.000000" Width="8"/>
+            <dxl:Cost StartupCost="0" TotalCost="6.178889" Rows="957.000000" Width="8"/>
           </dxl:Properties>
           <dxl:ProjList>
             <dxl:ProjElem ColId="0" Alias="a">
@@ -1070,77 +1078,35 @@
               <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
             </dxl:ProjElem>
           </dxl:ProjList>
-          <dxl:Filter/>
-          <dxl:RecheckCond>
-            <dxl:And>
-              <dxl:ArrayComp OperatorName="=" OperatorMdid="0.96.1.0" OperatorType="Any">
-                <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/>
-                <dxl:Array ArrayType="0.1007.1.0" ElementType="0.23.1.0" MultiDimensional="false">
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="1"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="3"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="4"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="5"/>
-                </dxl:Array>
-              </dxl:ArrayComp>
-              <dxl:ArrayComp OperatorName="=" OperatorMdid="0.96.1.0" OperatorType="Any">
-                <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
-                <dxl:Array ArrayType="0.1007.1.0" ElementType="0.23.1.0" MultiDimensional="false">
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="1"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="3"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="4"/>
-                  <dxl:ConstValue TypeMdid="0.23.1.0" Value="5"/>
-                </dxl:Array>
-              </dxl:ArrayComp>
-            </dxl:And>
-          </dxl:RecheckCond>
-          <dxl:BitmapAnd TypeMdid="0.2283.1.0">
-            <dxl:BitmapIndexProbe>
-              <dxl:IndexCondList>
-                <dxl:ArrayComp OperatorName="=" OperatorMdid="0.96.1.0" OperatorType="Any">
-                  <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/>
-                  <dxl:Array ArrayType="0.1007.1.0" ElementType="0.23.1.0" MultiDimensional="false">
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="1"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="3"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="4"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="5"/>
-                  </dxl:Array>
-                </dxl:ArrayComp>
-              </dxl:IndexCondList>
-              <dxl:IndexDescriptor Mdid="0.123266.1.0" IndexName="idx_a"/>
-            </dxl:BitmapIndexProbe>
-            <dxl:BitmapIndexProbe>
-              <dxl:IndexCondList>
-                <dxl:ArrayComp OperatorName="=" OperatorMdid="0.96.1.0" OperatorType="Any">
-                  <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
-                  <dxl:Array ArrayType="0.1007.1.0" ElementType="0.23.1.0" MultiDimensional="false">
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="1"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="3"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="4"/>
-                    <dxl:ConstValue TypeMdid="0.23.1.0" Value="5"/>
-                  </dxl:Array>
-                </dxl:ArrayComp>
-              </dxl:IndexCondList>
-              <dxl:IndexDescriptor Mdid="0.123270.1.0" IndexName="idx_b"/>
-            </dxl:BitmapIndexProbe>
-          </dxl:BitmapAnd>
-          <dxl:TableDescriptor Mdid="6.122880.1.0" TableName="foo">
+          <dxl:Filter>
+            <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+              <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/>
+              <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
+            </dxl:Comparison>
+          </dxl:Filter>
+          <dxl:IndexCondList>
+            <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+              <dxl:Ident ColId="4" ColName="e" TypeMdid="0.23.1.0"/>
+              <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
+            </dxl:Comparison>
+          </dxl:IndexCondList>
+          <dxl:Partitions/>
+          <dxl:IndexDescriptor Mdid="7.65575.1.0" IndexName="t_d_e_a_b_idx"/>
+          <dxl:TableDescriptor Mdid="6.65572.1.0" TableName="t" LockMode="1">
             <dxl:Columns>
               <dxl:Column ColId="0" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/>
               <dxl:Column ColId="1" Attno="2" ColName="b" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="2" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
-              <dxl:Column ColId="3" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="4" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="5" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="6" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="7" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
-              <dxl:Column ColId="8" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="4" Attno="5" ColName="e" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="5" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+              <dxl:Column ColId="6" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="7" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="8" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="9" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="10" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+              <dxl:Column ColId="11" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
             </dxl:Columns>
           </dxl:TableDescriptor>
-        </dxl:BitmapTableScan>
+        </dxl:IndexScan>
       </dxl:GatherMotion>
     </dxl:Plan>
   </dxl:Thread>
diff --git a/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp b/src/backend/gporca/data/dxl/minidump/CoveringIndex-3.mdp
similarity index 66%
copy from src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
copy to src/backend/gporca/data/dxl/minidump/CoveringIndex-3.mdp
index 0ca91dec8f..87caa9f576 100644
--- a/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/CoveringIndex-3.mdp
@@ -1,19 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <dxl:DXLMessage xmlns:dxl="http://greenplum.com/dxl/2010/12/">
   <dxl:Comment><![CDATA[
-            Objective: Generate plan using hash indexes in ORCA by using indexscan operator.
+    Objective: Do *not* choose Index-Only Scan when predicate contains only
+    "payload" keys, even if the project list contains index keys. In following
+    setup index keys are 'd' and 'e' whereas payload keys are 'a' and 'b'
 
-            create table foo(a int, b int);
-            create index idx1 on foo using hash(b);
-            explain select * from foo where b=2;
+      CREATE TABLE t(a int, b int, c int, d int, e int);
+      CREATE INDEX ON t(d, e) INCLUDE (a, b);
+      INSERT INTO t SELECT i, i, i, i, i FROM generate_series(1, 1000)i;
+      VACUUM t;
 
-                                             QUERY PLAN
-            ----------------------------------------------------------------------------
-             Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..6.00 rows=1 width=8)
-               ->  Index Scan using idx1 on foo  (cost=0.00..6.00 rows=1 width=8)
-                     Index Cond: (b = 2)
-             Optimizer: Pivotal Optimizer (GPORCA)
-            (4 rows)
+      EXPLAIN SELECT d, e FROM t WHERE a>42;
   ]]>
   </dxl:Comment>
   <dxl:Thread Id="0">
@@ -28,9 +25,22 @@
         </dxl:CostParams>
       </dxl:CostModelConfig>
       <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="20" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="100000" EnforceConstraintsOnDML="false" PushGroupByBelowSetopThreshold="10" XformBindThreshold="0" SkewFactor="0"/>
-      <dxl:TraceFlags Value="101013,102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,106000"/>
+      <dxl:TraceFlags Value="102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,105000,106000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
+      <dxl:GPDBScalarOp Mdid="0.521.1.0" Name="&gt;" ComparisonType="GT" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
+        <dxl:LeftType Mdid="0.23.1.0"/>
+        <dxl:RightType Mdid="0.23.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.147.1.0"/>
+        <dxl:Commutator Mdid="0.97.1.0"/>
+        <dxl:InverseOp Mdid="0.523.1.0"/>
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.4054.1.0"/>
+          <dxl:Opfamily Mdid="0.10009.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:GPDBScalarOp>
       <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="1" PassByValue="true">
         <dxl:DistrOpfamily Mdid="0.2222.1.0"/>
         <dxl:LegacyDistrOpfamily Mdid="0.7124.1.0"/>
@@ -48,7 +58,12 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:RelationExtendedStatistics Mdid="10.52420.1.0" Name="foo"/>
+      <dxl:Index Mdid="7.65580.1.0" Name="t_d_e_a_b_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3,4" IncludedColumns="0,1">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+          <dxl:Opfamily Mdid="0.1976.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
       <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
         <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         <dxl:LegacyDistrOpfamily Mdid="0.7100.1.0"/>
@@ -66,8 +81,54 @@
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:ColumnStatistics Mdid="1.52420.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:ColumnStatistics Mdid="1.52420.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:RelationStatistics Mdid="2.65577.1.0" Name="t" Rows="1000.000000" RelPages="3" RelAllVisible="3" EmptyRelation="false"/>
+      <dxl:Relation Mdid="6.65577.1.0" Name="t" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="11,5">
+        <dxl:Columns>
+          <dxl:Column Name="a" Attno="1" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="b" Attno="2" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="c" Attno="3" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="d" Attno="4" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="e" Attno="5" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+        </dxl:Columns>
+        <dxl:IndexInfoList>
+          <dxl:IndexInfo Mdid="7.65580.1.0" IsPartial="false"/>
+        </dxl:IndexInfoList>
+        <dxl:CheckConstraints/>
+        <dxl:DistrOpfamilies>
+          <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
+        </dxl:DistrOpfamilies>
+      </dxl:Relation>
       <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
         <dxl:DistrOpfamily Mdid="0.1990.1.0"/>
         <dxl:LegacyDistrOpfamily Mdid="0.7109.1.0"/>
@@ -134,146 +195,88 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:GPDBScalarOp Mdid="0.96.1.0" Name="=" ComparisonType="Eq" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
-        <dxl:LeftType Mdid="0.23.1.0"/>
-        <dxl:RightType Mdid="0.23.1.0"/>
-        <dxl:ResultType Mdid="0.16.1.0"/>
-        <dxl:OpFunc Mdid="0.65.1.0"/>
-        <dxl:Commutator Mdid="0.96.1.0"/>
-        <dxl:InverseOp Mdid="0.518.1.0"/>
-        <dxl:HashOpfamily Mdid="0.1977.1.0"/>
-        <dxl:LegacyHashOpfamily Mdid="0.7100.1.0"/>
-        <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.1976.1.0"/>
-          <dxl:Opfamily Mdid="0.1977.1.0"/>
-          <dxl:Opfamily Mdid="0.4054.1.0"/>
-          <dxl:Opfamily Mdid="0.7100.1.0"/>
-          <dxl:Opfamily Mdid="0.10009.1.0"/>
-        </dxl:Opfamilies>
-      </dxl:GPDBScalarOp>
-      <dxl:RelationStatistics Mdid="2.52420.1.0" Name="foo" Rows="0.000000" RelPages="0" RelAllVisible="0" EmptyRelation="true"/>
-      <dxl:Relation Mdid="6.52420.1.0" Name="foo" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2">
-        <dxl:Columns>
-          <dxl:Column Name="a" Attno="1" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="b" Attno="2" Mdid="0.23.1.0" Nullable="true" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-          <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
-            <dxl:DefaultValue/>
-          </dxl:Column>
-        </dxl:Columns>
-        <dxl:IndexInfoList>
-          <dxl:IndexInfo Mdid="7.52423.1.0" IsPartial="false"/>
-        </dxl:IndexInfoList>
-        <dxl:CheckConstraints/>
-        <dxl:DistrOpfamilies>
-          <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
-        </dxl:DistrOpfamilies>
-      </dxl:Relation>
-      <dxl:Index Mdid="7.52423.1.0" Name="idx1" IsClustered="false" IndexType="Hash" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
-        <dxl:Opfamilies>
-          <dxl:Opfamily Mdid="0.1977.1.0"/>
-        </dxl:Opfamilies>
-      </dxl:Index>
+      <dxl:ColumnStatistics Mdid="1.65577.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:RelationExtendedStatistics Mdid="10.65577.1.0" Name="t"/>
     </dxl:Metadata>
     <dxl:Query>
       <dxl:OutputColumns>
-        <dxl:Ident ColId="1" ColName="a" TypeMdid="0.23.1.0"/>
-        <dxl:Ident ColId="2" ColName="b" TypeMdid="0.23.1.0"/>
+        <dxl:Ident ColId="4" ColName="d" TypeMdid="0.23.1.0"/>
+        <dxl:Ident ColId="5" ColName="e" TypeMdid="0.23.1.0"/>
       </dxl:OutputColumns>
       <dxl:CTEList/>
       <dxl:LogicalSelect>
-        <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.96.1.0">
-          <dxl:Ident ColId="2" ColName="b" TypeMdid="0.23.1.0"/>
-          <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
+        <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+          <dxl:Ident ColId="1" ColName="a" TypeMdid="0.23.1.0"/>
+          <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
         </dxl:Comparison>
         <dxl:LogicalGet>
-          <dxl:TableDescriptor Mdid="6.52420.1.0" TableName="foo" LockMode="1">
+          <dxl:TableDescriptor Mdid="6.65577.1.0" TableName="t" LockMode="1">
             <dxl:Columns>
               <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/>
               <dxl:Column ColId="2" Attno="2" ColName="b" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="3" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
-              <dxl:Column ColId="4" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="5" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="6" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="7" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="8" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
-              <dxl:Column ColId="9" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="3" Attno="3" ColName="c" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="4" Attno="4" ColName="d" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="5" Attno="5" ColName="e" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="6" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+              <dxl:Column ColId="7" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="8" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="9" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="10" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="11" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+              <dxl:Column ColId="12" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
             </dxl:Columns>
           </dxl:TableDescriptor>
         </dxl:LogicalGet>
       </dxl:LogicalSelect>
     </dxl:Query>
-    <dxl:Plan Id="0" SpaceSize="3">
+    <dxl:Plan Id="0" SpaceSize="1">
       <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1">
         <dxl:Properties>
-          <dxl:Cost StartupCost="0" TotalCost="6.000136" Rows="1.000000" Width="8"/>
+          <dxl:Cost StartupCost="0" TotalCost="431.035035" Rows="400.000000" Width="8"/>
         </dxl:Properties>
         <dxl:ProjList>
-          <dxl:ProjElem ColId="0" Alias="a">
-            <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/>
+          <dxl:ProjElem ColId="3" Alias="d">
+            <dxl:Ident ColId="3" ColName="d" TypeMdid="0.23.1.0"/>
           </dxl:ProjElem>
-          <dxl:ProjElem ColId="1" Alias="b">
-            <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
+          <dxl:ProjElem ColId="4" Alias="e">
+            <dxl:Ident ColId="4" ColName="e" TypeMdid="0.23.1.0"/>
           </dxl:ProjElem>
         </dxl:ProjList>
         <dxl:Filter/>
         <dxl:SortingColumnList/>
-        <dxl:IndexScan IndexScanDirection="Forward">
+        <dxl:TableScan>
           <dxl:Properties>
-            <dxl:Cost StartupCost="0" TotalCost="6.000101" Rows="1.000000" Width="8"/>
+            <dxl:Cost StartupCost="0" TotalCost="431.023109" Rows="400.000000" Width="8"/>
           </dxl:Properties>
           <dxl:ProjList>
-            <dxl:ProjElem ColId="0" Alias="a">
-              <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/>
+            <dxl:ProjElem ColId="3" Alias="d">
+              <dxl:Ident ColId="3" ColName="d" TypeMdid="0.23.1.0"/>
             </dxl:ProjElem>
-            <dxl:ProjElem ColId="1" Alias="b">
-              <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
+            <dxl:ProjElem ColId="4" Alias="e">
+              <dxl:Ident ColId="4" ColName="e" TypeMdid="0.23.1.0"/>
             </dxl:ProjElem>
           </dxl:ProjList>
-          <dxl:Filter/>
-          <dxl:IndexCondList>
-            <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.96.1.0">
-              <dxl:Ident ColId="1" ColName="b" TypeMdid="0.23.1.0"/>
-              <dxl:ConstValue TypeMdid="0.23.1.0" Value="2"/>
+          <dxl:Filter>
+            <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.521.1.0">
+              <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/>
+              <dxl:ConstValue TypeMdid="0.23.1.0" Value="42"/>
             </dxl:Comparison>
-          </dxl:IndexCondList>
-          <dxl:Partitions/>
-          <dxl:IndexDescriptor Mdid="7.52423.1.0" IndexName="idx1"/>
-          <dxl:TableDescriptor Mdid="6.52420.1.0" TableName="foo" LockMode="1">
+          </dxl:Filter>
+          <dxl:TableDescriptor Mdid="6.65577.1.0" TableName="t" LockMode="1">
             <dxl:Columns>
               <dxl:Column ColId="0" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="1" Attno="2" ColName="b" TypeMdid="0.23.1.0" ColWidth="4"/>
-              <dxl:Column ColId="2" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
-              <dxl:Column ColId="3" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="4" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="5" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
-              <dxl:Column ColId="6" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
-              <dxl:Column ColId="7" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
-              <dxl:Column ColId="8" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="3" Attno="4" ColName="d" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="4" Attno="5" ColName="e" TypeMdid="0.23.1.0" ColWidth="4"/>
+              <dxl:Column ColId="5" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+              <dxl:Column ColId="6" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="7" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="8" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+              <dxl:Column ColId="9" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+              <dxl:Column ColId="10" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+              <dxl:Column ColId="11" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
             </dxl:Columns>
           </dxl:TableDescriptor>
-        </dxl:IndexScan>
+        </dxl:TableScan>
       </dxl:GatherMotion>
     </dxl:Plan>
   </dxl:Thread>
diff --git a/src/backend/gporca/data/dxl/minidump/DirectDispatch-DynamicIndexScan.mdp b/src/backend/gporca/data/dxl/minidump/DirectDispatch-DynamicIndexScan.mdp
index fe205d54d2..821c932aff 100644
--- a/src/backend/gporca/data/dxl/minidump/DirectDispatch-DynamicIndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DirectDispatch-DynamicIndexScan.mdp
@@ -998,7 +998,7 @@ where a=1 and b>0;
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.21553.1.1.5" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.21553.1.1.4" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.2155640.1.0" Name="sc_part_idx_b_1_prt_extra" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.2155640.1.0" Name="sc_part_idx_b_1_prt_extra" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DirectDispatch-IndexScan.mdp b/src/backend/gporca/data/dxl/minidump/DirectDispatch-IndexScan.mdp
index 7894da1742..d4f60bc4e2 100644
--- a/src/backend/gporca/data/dxl/minidump/DirectDispatch-IndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DirectDispatch-IndexScan.mdp
@@ -369,12 +369,12 @@ where a=1 and b=0;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.1962926.1.0" Name="sc_idx_b" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.1962926.1.0" Name="sc_idx_b" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.1975983.1.0" Name="sc_idx_bc" IsClustered="false" IndexType="B-tree" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.1975983.1.0" Name="sc_idx_bc" IsClustered="false" IndexType="B-tree" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/DoubleNDVCardinalityEquals.mdp b/src/backend/gporca/data/dxl/minidump/DoubleNDVCardinalityEquals.mdp
index de915486f5..a1252a8a28 100644
--- a/src/backend/gporca/data/dxl/minidump/DoubleNDVCardinalityEquals.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DoubleNDVCardinalityEquals.mdp
@@ -134,7 +134,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.20.1.0" Value="5200000000000097561"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.213016.1.0" Name="idx_mytable_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3">
+      <dxl:Index Mdid="0.213016.1.0" Name="idx_mytable_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicBitmapBoolOp.mdp b/src/backend/gporca/data/dxl/minidump/DynamicBitmapBoolOp.mdp
index 729493d418..fe960a5326 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicBitmapBoolOp.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicBitmapBoolOp.mdp
@@ -19,7 +19,7 @@
       <dxl:TraceFlags Value="102001,102002,102003,102006,102024,102025,102144,103001,103027,103033"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.672579.1.0" Name="p_b_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.672579.1.0" Name="p_b_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -139,7 +139,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.672348.1.0" Name="p_a_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.672348.1.0" Name="p_a_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -892,7 +892,7 @@
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.671910.1.1.5" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.671910.1.1.4" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.672810.1.0" Name="p_c_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.672810.1.0" Name="p_c_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicBitmapIndexScan.mdp b/src/backend/gporca/data/dxl/minidump/DynamicBitmapIndexScan.mdp
index 0a35555e91..fb4f3feca3 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicBitmapIndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicBitmapIndexScan.mdp
@@ -622,7 +622,7 @@ see sql/DynamicBitmapIndexScan.sql
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.16959.1.1.1" Name="flex_value_id" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.16959.1.1.0" Name="flex_value_set_id" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.17270.1.0" Name="inner_table_idx_1_prt_other" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.17270.1.0" Name="inner_table_idx_1_prt_other" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3032.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Basic.mdp b/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Basic.mdp
index 245cd718c7..39649a4d47 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Basic.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Basic.mdp
@@ -714,7 +714,7 @@
       <dxl:ColumnStatistics Mdid="1.3723603.1.0.0" Name="x1" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.3723603.1.0.7" Name="cmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.3723603.1.0.6" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.3723795.1.0" Name="x2_ind_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.3723795.1.0" Name="x2_ind_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Heterogeneous.mdp b/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Heterogeneous.mdp
index 98e013cdd9..92a1c977e6 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Heterogeneous.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-Heterogeneous.mdp
@@ -116,7 +116,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.816512.1.1.3" Name="t" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.816512.1.1.2" Name="j" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.816754.1.0" Name="bm_test_idx_part" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.816754.1.0" Name="bm_test_idx_part" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-UUID.mdp b/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-UUID.mdp
index 9fe3b40f63..9e03e18823 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-UUID.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicBitmapTableScan-UUID.mdp
@@ -358,7 +358,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.2950.1.0" IsNull="false" Value="An6J9DnRTROsv3WhVjnmNQ==" LintValue="4123921962"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.20403.1.0" Name="i_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.20403.1.0" Name="i_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2968.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexGet-OuterRefs.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexGet-OuterRefs.mdp
index ae459098e1..92109cfc87 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexGet-OuterRefs.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexGet-OuterRefs.mdp
@@ -7857,7 +7857,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33441.1.0" Name="web_sales_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3,17,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.33441.1.0" Name="web_sales_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3,17,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -13044,7 +13044,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.33851.1.0" Name="date_dim_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,6" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.33851.1.0" Name="date_dim_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,6" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexGetDroppedCols.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexGetDroppedCols.mdp
index 22000b0db7..4ce00ae249 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexGetDroppedCols.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexGetDroppedCols.mdp
@@ -1050,7 +1050,7 @@ EXPLAIN SELECT * FROM solo WHERE year_id=2017 AND month_id=6;
           <dxl:UpperBound Closed="true" TypeMdid="0.21.1.0" Value="12"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.29404.1.0" Name="solo_idx_1_prt_y2016_2_prt_jan" IsClustered="false" IndexType="B-tree" KeyColumns="1,2,7,17,22,29" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,21,22,28,29,30,31,32,33,34,35,36">
+      <dxl:Index Mdid="0.29404.1.0" Name="solo_idx_1_prt_y2016_2_prt_jan" IsClustered="false" IndexType="B-tree" KeyColumns="1,2,7,17,22,29" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolFalse.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolFalse.mdp
index bec7931457..7f91688732 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolFalse.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolFalse.mdp
@@ -450,7 +450,7 @@
         <dxl:Commutator Mdid="0.523.1.0"/>
         <dxl:InverseOp Mdid="0.97.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.296845.1.0" Name="pp_c_1_prt_1" IsClustered="false" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.296845.1.0" Name="pp_c_1_prt_1" IsClustered="false" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolTrue.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolTrue.mdp
index e11471af7d..5f4de92492 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolTrue.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-BoolTrue.mdp
@@ -450,7 +450,7 @@
         <dxl:Commutator Mdid="0.523.1.0"/>
         <dxl:InverseOp Mdid="0.97.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.296845.1.0" Name="pp_c_1_prt_1" IsClustered="false" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.296845.1.0" Name="pp_c_1_prt_1" IsClustered="false" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition-2.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition-2.mdp
index 140249697a..d614823bb4 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition-2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition-2.mdp
@@ -288,7 +288,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="1000"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.274813.1.0" Name="p_1_prt_3_ind_bc" IsClustered="false" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.274813.1.0" Name="p_1_prt_3_ind_bc" IsClustered="false" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
@@ -487,7 +487,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="50"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.267021.1.0" Name="p_def_ind_c" IsClustered="false" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.267021.1.0" Name="p_def_ind_c" IsClustered="false" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition.mdp
index 7d4c1b4020..7c5d111748 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DefaultPartition.mdp
@@ -168,7 +168,7 @@
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.274855.1.1.3" Name="ctid" Width="6.000000"/>
       <dxl:ColumnStatistics Mdid="1.274855.1.1.2" Name="c" Width="8.000000"/>
-      <dxl:Index Mdid="0.275094.1.0" Name="ppp_1_prt_extra_ind_c" IsClustered="false" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.275094.1.0" Name="ppp_1_prt_extra_ind_c" IsClustered="false" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedCols.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedCols.mdp
index f9ec59898a..d4e824b6ff 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedCols.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedCols.mdp
@@ -332,7 +332,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.32962.1.0" Name="idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.32962.1.0" Name="idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedColumns.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedColumns.mdp
index ca343dd5b9..8cdeffbb75 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedColumns.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-DroppedColumns.mdp
@@ -581,7 +581,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.567110.1.0" Name="testbug_char5_tag1_1_prt_part201203" IsClustered="false" KeyColumns="3" IncludedColumns="0,1,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.567110.1.0" Name="testbug_char5_tag1_1_prt_part201203" IsClustered="false" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.426.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-EnabledDateConstraint.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-EnabledDateConstraint.mdp
index 0baddbc5d0..80c10fe061 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-EnabledDateConstraint.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-EnabledDateConstraint.mdp
@@ -187,7 +187,7 @@
       <dxl:GPDBFunc Mdid="0.6083.1.0" Name="gp_partition_propagation" ReturnsSet="false" Stability="Volatile" IsStrict="true">
         <dxl:ResultType Mdid="0.2278.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.318973.1.0" Name="test_orders_2_1_prt_orders_1_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.318973.1.0" Name="test_orders_2_1_prt_orders_1_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-NoDTS.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-NoDTS.mdp
index e6b2d6dd8b..3f5c2d3d49 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-NoDTS.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-NoDTS.mdp
@@ -87,7 +87,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.27119.15.1.3" Name="1.27119.15.1.3" Width="8.000000"/>
       <dxl:ColumnStatistics Mdid="1.27119.15.1.2" Name="1.27119.15.1.2" Width="8.000000"/>
-      <dxl:Index Mdid="0.2732323.15.0" Name="p2_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.2732323.15.0" Name="p2_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -182,7 +182,7 @@
       <dxl:ColumnStatistics Mdid="1.27119.15.1.8" Name="1.27119.15.1.8" Width="8.000000"/>
       <dxl:ColumnStatistics Mdid="1.27119.15.1.0" Name="1.27119.15.1.0" Width="8.000000"/>
       <dxl:ColumnStatistics Mdid="1.27119.15.1.1" Name="1.27119.15.1.1" Width="8.000000"/>
-      <dxl:Index Mdid="0.27323.15.1" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.27323.15.1" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Overlapping.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Overlapping.mdp
index bccc55d6cd..8822d51780 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Overlapping.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Overlapping.mdp
@@ -85,7 +85,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2732323.25.0" Name="p2_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.2732323.25.0" Name="p2_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -100,7 +100,7 @@
       <dxl:ColumnStatistics Mdid="1.27119.25.1.8" Name="1.27119.25.1.8" Width="8.000000"/>
       <dxl:ColumnStatistics Mdid="1.27119.25.1.0" Name="1.27119.25.1.0" Width="8.000000"/>
       <dxl:ColumnStatistics Mdid="1.27119.25.1.1" Name="1.27119.25.1.1" Width="8.000000"/>
-      <dxl:Index Mdid="0.27323.25.0" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.27323.25.0" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectEquality.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectEquality.mdp
index 4fc3c0bf3f..36f6cee5e9 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectEquality.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectEquality.mdp
@@ -87,7 +87,7 @@
       <dxl:GPDBFunc Mdid="0.6086.1.0" Name="gp_partition_inverse" ReturnsSet="true" Stability="Stable" IsStrict="true">
         <dxl:ResultType Mdid="0.2249.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.303004.1.0" Name="p_1_a" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.303004.1.0" Name="p_1_a" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectRange.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectRange.mdp
index 2097a5ceb6..d2df39c8f2 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectRange.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-PartSelectRange.mdp
@@ -87,7 +87,7 @@
       <dxl:GPDBFunc Mdid="0.6086.1.0" Name="gp_partition_inverse" ReturnsSet="true" Stability="Stable" IsStrict="true">
         <dxl:ResultType Mdid="0.2249.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.303004.1.0" Name="p_1_a" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.303004.1.0" Name="p_1_a" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Union.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Union.mdp
index 3ee181ba22..de7b35e97b 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Union.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-Union.mdp
@@ -627,7 +627,7 @@
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.3723124.1.0.3" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.3723124.1.0.2" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.3723283.1.0" Name="p_ind" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.3723283.1.0" Name="p_ind" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedConstraint.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedConstraint.mdp
index 367b9cfd13..590b33daf2 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedConstraint.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedConstraint.mdp
@@ -163,7 +163,7 @@
       <dxl:GPDBFunc Mdid="0.6083.1.0" Name="gp_partition_propagation" ReturnsSet="false" Stability="Volatile" IsStrict="true">
         <dxl:ResultType Mdid="0.2278.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.318973.1.0" Name="test_orders_2_1_prt_orders_1_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.318973.1.0" Name="test_orders_2_1_prt_orders_1_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedPredicate.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedPredicate.mdp
index efd7adf167..aac40c1714 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedPredicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous-UnsupportedPredicate.mdp
@@ -36,7 +36,7 @@
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.1637610.1.1.7" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.1637610.1.1.6" Name="c7" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.1637960.1.0" Name="idx_heapaoco_list_part_c1_int_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.1637960.1.0" Name="idx_heapaoco_list_part_c1_int_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -170,7 +170,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1637979.1.0" Name="idx_heapaoco_list_part_c1_int_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.1637979.1.0" Name="idx_heapaoco_list_part_c1_int_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous.mdp
index d2a27b67a5..ccce6a068c 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Heterogenous.mdp
@@ -87,7 +87,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.27119.1.1.5" Name="xmax" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.27119.1.1.4" Name="cmin" Width="4.000000"/>
-      <dxl:Index Mdid="0.27323.1.0" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.27323.1.0" Name="p_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -99,7 +99,7 @@
           <dxl:Partition Mdid="6.27323005.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.2732323.1.0" Name="p2_ind" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.2732323.1.0" Name="p2_ind" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-EnabledDateConstraint.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-EnabledDateConstraint.mdp
index c8679ca974..de84871cab 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-EnabledDateConstraint.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-EnabledDateConstraint.mdp
@@ -137,7 +137,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.310650.1.1.7" Name="cmax" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.310650.1.1.6" Name="xmax" Width="4.000000"/>
-      <dxl:Index Mdid="0.310765.1.0" Name="ord_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.310765.1.0" Name="ord_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
         </dxl:Opfamilies>
@@ -196,7 +196,7 @@
       <dxl:GPDBFunc Mdid="0.6083.1.0" Name="gp_partition_propagation" ReturnsSet="false" Stability="Volatile" IsStrict="true">
         <dxl:ResultType Mdid="0.2278.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.318839.1.0" Name="ord_1_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.318839.1.0" Name="ord_1_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-UnsupportedConstraint.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-UnsupportedConstraint.mdp
index 1d54f677d2..1f82dd9ae7 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-UnsupportedConstraint.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous-UnsupportedConstraint.mdp
@@ -100,7 +100,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.310650.1.1.7" Name="cmax" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.310650.1.1.6" Name="xmax" Width="4.000000"/>
-      <dxl:Index Mdid="0.310765.1.0" Name="ord_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.310765.1.0" Name="ord_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
         </dxl:Opfamilies>
@@ -180,7 +180,7 @@
       <dxl:GPDBFunc Mdid="0.6083.1.0" Name="gp_partition_propagation" ReturnsSet="false" Stability="Volatile" IsStrict="true">
         <dxl:ResultType Mdid="0.2278.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.318839.1.0" Name="ord_1_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.318839.1.0" Name="ord_1_ind_1_prt_orders_1" IsClustered="false" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous.mdp
index 268d4e323c..a56cc55fac 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Homogenous.mdp
@@ -127,7 +127,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.3722984.1.0" Name="p_ind_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.3722984.1.0" Name="p_ind_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-OpenEndedPartitions.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-OpenEndedPartitions.mdp
index 54011e427d..3394eaf315 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-OpenEndedPartitions.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-OpenEndedPartitions.mdp
@@ -387,7 +387,7 @@
         <dxl:Commutator Mdid="0.521.1.0"/>
         <dxl:InverseOp Mdid="0.525.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.1122360.1.0" Name="t2_pfirst_ind" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1122360.1.0" Name="t2_pfirst_ind" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Relabel.mdp b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Relabel.mdp
index 5d89d81855..50bac82888 100644
--- a/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Relabel.mdp
+++ b/src/backend/gporca/data/dxl/minidump/DynamicIndexScan-Relabel.mdp
@@ -1146,7 +1146,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.1043.1.0" Value="AAAABzk3Mw==" LintValue="921330540"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.607634.1.0" Name="p_idx_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.607634.1.0" Name="p_idx_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2003.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/ExtractOneBindingFromScalarGroups.mdp b/src/backend/gporca/data/dxl/minidump/ExtractOneBindingFromScalarGroups.mdp
index cacf969883..b22e7f7c25 100644
--- a/src/backend/gporca/data/dxl/minidump/ExtractOneBindingFromScalarGroups.mdp
+++ b/src/backend/gporca/data/dxl/minidump/ExtractOneBindingFromScalarGroups.mdp
@@ -132,7 +132,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.32783.1.0" Name="t3idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32783.1.0" Name="t3idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/FullJoin-Subquery-CastedPredicates.mdp b/src/backend/gporca/data/dxl/minidump/FullJoin-Subquery-CastedPredicates.mdp
index 61c0ffe628..eff04bd8fb 100644
--- a/src/backend/gporca/data/dxl/minidump/FullJoin-Subquery-CastedPredicates.mdp
+++ b/src/backend/gporca/data/dxl/minidump/FullJoin-Subquery-CastedPredicates.mdp
@@ -54,7 +54,7 @@
       <dxl:TraceFlags Value="102074,102120,102146,103001,103014,103015,103022,103027,103029,104003,104004,104005,105000,106000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.32772.1.0" Name="t2_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32772.1.0" Name="t2_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -163,7 +163,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gb-on-keys.mdp b/src/backend/gporca/data/dxl/minidump/Gb-on-keys.mdp
index e3260f9636..6386506efb 100644
--- a/src/backend/gporca/data/dxl/minidump/Gb-on-keys.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gb-on-keys.mdp
@@ -56,7 +56,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.1154027.1.1.5" Name="cmin" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.1154027.1.1.4" Name="xmin" Width="4.000000"/>
-      <dxl:Index Mdid="0.1154050.1.0" Name="keys_pkey" IsClustered="false" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.1154050.1.0" Name="keys_pkey" IsClustered="false" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/GinIndex.mdp b/src/backend/gporca/data/dxl/minidump/GinIndex.mdp
index 3c30340a86..9525c5da40 100644
--- a/src/backend/gporca/data/dxl/minidump/GinIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/GinIndex.mdp
@@ -171,7 +171,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.20130.1.0" Name="jidx" IsClustered="false" IndexType="Gin" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.20130.1.0" Name="jidx" IsClustered="false" IndexType="Gin" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.4036.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/GinIndexPathOpfamily.mdp b/src/backend/gporca/data/dxl/minidump/GinIndexPathOpfamily.mdp
index 800348948e..bd9eea5733 100644
--- a/src/backend/gporca/data/dxl/minidump/GinIndexPathOpfamily.mdp
+++ b/src/backend/gporca/data/dxl/minidump/GinIndexPathOpfamily.mdp
@@ -171,7 +171,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.20131.1.0" Name="jidx" IsClustered="false" IndexType="Gin" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.20131.1.0" Name="jidx" IsClustered="false" IndexType="Gin" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.4037.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/GinIndexSearchModeAll.mdp b/src/backend/gporca/data/dxl/minidump/GinIndexSearchModeAll.mdp
index 62c437a26b..850db5e58d 100644
--- a/src/backend/gporca/data/dxl/minidump/GinIndexSearchModeAll.mdp
+++ b/src/backend/gporca/data/dxl/minidump/GinIndexSearchModeAll.mdp
@@ -171,7 +171,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.20131.1.0" Name="jidx" IsClustered="false" IndexType="Gin" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.20131.1.0" Name="jidx" IsClustered="false" IndexType="Gin" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.4037.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-AOCOTable-NonLossy-BitmapIndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-AOCOTable-NonLossy-BitmapIndexPlan.mdp
index be89cb98a7..d1e1f3d658 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-AOCOTable-NonLossy-BitmapIndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-AOCOTable-NonLossy-BitmapIndexPlan.mdp
@@ -167,7 +167,7 @@ Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..0.00 rows=1 width=4)
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.566300.1.0" Name="boxindex" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.566300.1.0" Name="boxindex" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2593.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Lossy-IndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Lossy-IndexPlan.mdp
index 40278c018d..905b13317e 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Lossy-IndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Lossy-IndexPlan.mdp
@@ -95,7 +95,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16406.1.0" Name="poly_index" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.16406.1.0" Name="poly_index" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2594.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Postgis-IndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Postgis-IndexPlan.mdp
index 098b9b32c8..fbd7ada3b6 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Postgis-IndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-NestedLoopJoin-Postgis-IndexPlan.mdp
@@ -159,7 +159,7 @@ Gather Motion 3:1  (slice2; segments: 3)  (cost=0.00..433.00 rows=1 width=24)
       <dxl:GPDBFunc Mdid="0.566917.1.0" Name="_st_contains" ReturnsSet="false" Stability="Immutable" IsStrict="true">
         <dxl:ResultType Mdid="0.16.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.581647.1.0" Name="multi" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.581647.1.0" Name="multi" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.566580.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-BitmapIndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-BitmapIndexPlan.mdp
index e8def20740..367214ef50 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-BitmapIndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-BitmapIndexPlan.mdp
@@ -166,7 +166,7 @@ Optimizer status: PQO version 2.65.1
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.566276.1.0" Name="gist_tbl_point_index" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.566276.1.0" Name="gist_tbl_point_index" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2594.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-IndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-IndexPlan.mdp
index 7f39ed60e8..07c98837da 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-IndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-NonPart-Lossy-IndexPlan.mdp
@@ -166,7 +166,7 @@ Optimizer status: PQO version 2.65.1
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.573703.1.0" Name="gist_tbl_point_index" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.573703.1.0" Name="gist_tbl_point_index" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2594.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-BitmapPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-BitmapPlan.mdp
index a3c41e209c..58b6310239 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-BitmapPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-BitmapPlan.mdp
@@ -251,7 +251,7 @@ Result  (cost=0.00..0.00 rows=1 width=36)
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.573475.1.0" Name="poly" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.573475.1.0" Name="poly" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2594.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-IndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-IndexPlan.mdp
index 9100156dbe..a5426e036f 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-IndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-OrderBy-IndexPlan.mdp
@@ -289,7 +289,7 @@ Result  (cost=0.00..8.00 rows=2 width=36)
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.573475.1.0" Name="poly" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.573475.1.0" Name="poly" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2594.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-PartTable-Lossy-IndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-PartTable-Lossy-IndexPlan.mdp
index f8d365a6ca..fd0c74c790 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-PartTable-Lossy-IndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-PartTable-Lossy-IndexPlan.mdp
@@ -86,7 +86,7 @@ Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..6.00 rows=1 width=4)
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.574046.1.0" Name="partpolyindex_1_prt_1" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.574046.1.0" Name="partpolyindex_1_prt_1" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2594.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-PartTable-NonLossy-BitmapIndexPlan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-PartTable-NonLossy-BitmapIndexPlan.mdp
index f8e379b8ae..1a6266374f 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-PartTable-NonLossy-BitmapIndexPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-PartTable-NonLossy-BitmapIndexPlan.mdp
@@ -53,7 +53,7 @@ Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..0.00 rows=1 width=4)
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.566356.1.0" Name="partboxindex_1_prt_1" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.566356.1.0" Name="partboxindex_1_prt_1" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2593.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Gist-PartialIndex-TableScan.mdp b/src/backend/gporca/data/dxl/minidump/Gist-PartialIndex-TableScan.mdp
index 0954f03a81..e2b16c7f70 100644
--- a/src/backend/gporca/data/dxl/minidump/Gist-PartialIndex-TableScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Gist-PartialIndex-TableScan.mdp
@@ -326,7 +326,7 @@ Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..431.00 rows=1 width=44)
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.573531.1.0.1" Name="b" Width="32.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.573531.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.573613.1.0" Name="partialboxindex" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.573613.1.0" Name="partialboxindex" IsClustered="false" IndexType="Gist" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2593.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/GroupingOnSameTblCol-1.mdp b/src/backend/gporca/data/dxl/minidump/GroupingOnSameTblCol-1.mdp
index a77b2c2d38..fcdd5cf6fd 100644
--- a/src/backend/gporca/data/dxl/minidump/GroupingOnSameTblCol-1.mdp
+++ b/src/backend/gporca/data/dxl/minidump/GroupingOnSameTblCol-1.mdp
@@ -3361,7 +3361,7 @@ group  by item.i_item_id, item.i_item_desc, item.i_current_price;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="18000"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.672881.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.672881.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -7919,7 +7919,7 @@ group  by item.i_item_id, item.i_item_desc, item.i_current_price;
           <dxl:Opfamily Mdid="0.3032.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.673571.1.0" Name="store_sales_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2,9" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29">
+      <dxl:Index Mdid="0.673571.1.0" Name="store_sales_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2,9" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/HJN-DPE-Bitmap-Outer-Child.mdp b/src/backend/gporca/data/dxl/minidump/HJN-DPE-Bitmap-Outer-Child.mdp
index 6c19249808..a6619c970d 100644
--- a/src/backend/gporca/data/dxl/minidump/HJN-DPE-Bitmap-Outer-Child.mdp
+++ b/src/backend/gporca/data/dxl/minidump/HJN-DPE-Bitmap-Outer-Child.mdp
@@ -1504,7 +1504,7 @@ select * from dbs_target, dbs_helper where dbs_target.c1 = dbs_helper.c1 and dbs
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.42822830.1.0" Name="dbs_index1_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.42822830.1.0" Name="dbs_index1_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Hash-BitmapScan.mdp b/src/backend/gporca/data/dxl/minidump/Hash-BitmapScan.mdp
index 8237fec240..209b55bc61 100644
--- a/src/backend/gporca/data/dxl/minidump/Hash-BitmapScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Hash-BitmapScan.mdp
@@ -193,7 +193,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.52423.1.0" Name="idx1" IsClustered="false" IndexType="Hash" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="7.52423.1.0" Name="idx1" IsClustered="false" IndexType="Hash" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1977.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp b/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
index 0ca91dec8f..6df9863496 100644
--- a/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Hash-IndexScan.mdp
@@ -190,7 +190,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.52423.1.0" Name="idx1" IsClustered="false" IndexType="Hash" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="7.52423.1.0" Name="idx1" IsClustered="false" IndexType="Hash" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1977.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/InEqualityJoin.mdp b/src/backend/gporca/data/dxl/minidump/InEqualityJoin.mdp
index a75df98d26..2bb49ffca4 100644
--- a/src/backend/gporca/data/dxl/minidump/InEqualityJoin.mdp
+++ b/src/backend/gporca/data/dxl/minidump/InEqualityJoin.mdp
@@ -2354,7 +2354,7 @@
         <dxl:SumAgg Mdid="0.2114.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.26529.1.0" Name="web_sales_pkey" IsClustered="false" KeyColumns="3,17" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.26529.1.0" Name="web_sales_pkey" IsClustered="false" KeyColumns="3,17" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Index-Join-With-Subquery-In-Pred.mdp b/src/backend/gporca/data/dxl/minidump/Index-Join-With-Subquery-In-Pred.mdp
index 32c025ada7..0b1af372d3 100644
--- a/src/backend/gporca/data/dxl/minidump/Index-Join-With-Subquery-In-Pred.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Index-Join-With-Subquery-In-Pred.mdp
@@ -250,7 +250,7 @@ Optimizer: Pivotal Optimizer (GPORCA)
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.6639069.1.0" Name="myidx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.6639069.1.0" Name="myidx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-BothSidesPartitioned.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-BothSidesPartitioned.mdp
index a37e1afc62..a624e0f892 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-BothSidesPartitioned.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-BothSidesPartitioned.mdp
@@ -173,7 +173,7 @@ select * from x, y where (x.i > y.j);
       <dxl:ColumnStatistics Mdid="1.54648535.1.1.2" Name="k" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.54648430.1.1.7" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.54648430.1.1.6" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.54648640.1.0" Name="x_idx_2" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.54648640.1.0" Name="x_idx_2" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -507,7 +507,7 @@ select * from x, y where (x.i > y.j);
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.54648659.1.0" Name="y_idx_2" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.54648659.1.0" Name="y_idx_2" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-DTS.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-DTS.mdp
index 50a0f211dc..ffc486cd9f 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-DTS.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-DTS.mdp
@@ -718,7 +718,7 @@ WHERE tt.event_ts &gt;= tq.ets AND
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.16033549.1.1.7" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.16033549.1.1.6" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.16033719.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.16033719.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -744,7 +744,7 @@ WHERE tt.event_ts &gt;= tq.ets AND
       <dxl:GPDBFunc Mdid="0.6086.1.0" Name="gp_partition_inverse" ReturnsSet="true" Stability="Stable" IsStrict="true">
         <dxl:ResultType Mdid="0.2249.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.16033738.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_2" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.16033738.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_2" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-NoDTS.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-NoDTS.mdp
index 666fa71c6c..0ef5490ee9 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-NoDTS.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-Heterogeneous-NoDTS.mdp
@@ -270,7 +270,7 @@ ORDER BY 1 asc ;
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16032679.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.16032679.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -626,7 +626,7 @@ ORDER BY 1 asc ;
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16032698.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_3" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.16032698.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_3" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondDisjointWithHashedDistr.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondDisjointWithHashedDistr.mdp
index c3565c691a..69cc9d837c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondDisjointWithHashedDistr.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondDisjointWithHashedDistr.mdp
@@ -69,7 +69,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.5" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.4" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.9393884.1.0" Name="index_r1j" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.9393884.1.0" Name="index_r1j" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondIntersectWithHashedDistr.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondIntersectWithHashedDistr.mdp
index 635bedc202..aec40f292e 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondIntersectWithHashedDistr.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondIntersectWithHashedDistr.mdp
@@ -69,7 +69,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.5" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.4" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.9393884.1.0" Name="index_r1j" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.9393884.1.0" Name="index_r1j" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondMatchHashedDistr.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondMatchHashedDistr.mdp
index 82fbb1ace3..0f1da8c81e 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondMatchHashedDistr.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondMatchHashedDistr.mdp
@@ -230,7 +230,7 @@
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.7" Name="tableoid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.6" Name="cmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:MDCast Mdid="3.23.1.0;23.1.0" Name="int4" BinaryCoercible="true" SourceTypeId="0.23.1.0" DestinationTypeId="0.23.1.0" CastFuncId="0.0.0.0"/>
-      <dxl:Index Mdid="0.9385692.1.0" Name="index_ri" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.9385692.1.0" Name="index_ri" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSubsetOfHashedDistr.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSubsetOfHashedDistr.mdp
index c3565c691a..69cc9d837c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSubsetOfHashedDistr.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSubsetOfHashedDistr.mdp
@@ -69,7 +69,7 @@
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.5" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.4" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.9393884.1.0" Name="index_r1j" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.9393884.1.0" Name="index_r1j" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSupersetOfHashedDistr.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSupersetOfHashedDistr.mdp
index aca5a2fb5f..1a00dcea30 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSupersetOfHashedDistr.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexCondSupersetOfHashedDistr.mdp
@@ -238,7 +238,7 @@
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.7" Name="tableoid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.3373352.1.1.6" Name="cmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:MDCast Mdid="3.23.1.0;23.1.0" Name="int4" BinaryCoercible="true" SourceTypeId="0.23.1.0" DestinationTypeId="0.23.1.0" CastFuncId="0.0.0.0"/>
-      <dxl:Index Mdid="0.9385692.1.0" Name="index_ri" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.9385692.1.0" Name="index_ri" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexOnCoordinatorOnlyTable.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexOnCoordinatorOnlyTable.mdp
index 53e666a80b..72b610184c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-IndexOnCoordinatorOnlyTable.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-IndexOnCoordinatorOnlyTable.mdp
@@ -482,7 +482,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" KeyColumns="31" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" KeyColumns="31" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
@@ -966,7 +966,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1086.1.0"/>
           <dxl:Opfamily Mdid="0.1089.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Basic.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Basic.mdp
index ec6e7f6b39..0e0f6e2539 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Basic.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Basic.mdp
@@ -364,7 +364,7 @@ explain SELECT * FROM s i1, t t2 where t2.c2 = i1.c2 and t2.c1 > 10;
           <dxl:Opfamily Mdid="0.3040.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.32518895.1.0" Name="idx_t_2" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.32518895.1.0" Name="idx_t_2" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Heterogeneous-DTS.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Heterogeneous-DTS.mdp
index 347f3f0a76..455896627b 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Heterogeneous-DTS.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-Heterogeneous-DTS.mdp
@@ -689,7 +689,7 @@ WHERE tt.event_ts >= tq.ets AND
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.32989821.1.1.5" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.32989821.1.1.4" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.32989991.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.32989991.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -709,7 +709,7 @@ WHERE tt.event_ts >= tq.ets AND
       <dxl:ColumnStatistics Mdid="1.32989847.1.1.10" Name="tableoid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.32989847.1.1.3" Name="ask_price" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.32989847.1.1.2" Name="bid_price" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000"/>
-      <dxl:Index Mdid="0.32990010.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_2" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.32990010.1.0" Name="my_tq_agg_small_part_ets_end_ts_ix_2" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable.mdp
index 8eb7a10e5d..1662e41a1f 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable.mdp
@@ -680,7 +680,7 @@ SELECT * FROM s i1, t t2 where t2.c2 = i1.c2 and t2.c1 > 10;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.32553517.1.0" Name="idx_t_2_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="0.32553517.1.0" Name="idx_t_2_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable2.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable2.mdp
index f56ec3369a..a5a62c6e3b 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-InnerSelect-PartTable2.mdp
@@ -351,7 +351,7 @@ select * from bar, (select * from foo where foo.a in (select h.a from bar h, bar
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.57376.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.57376.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.57404.1.0" Name="idx_1_prt_1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.57404.1.0" Name="idx_1_prt_1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-LeftOuter-NLJoin.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-LeftOuter-NLJoin.mdp
index f3b3719563..3ef75ab1b3 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-LeftOuter-NLJoin.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-LeftOuter-NLJoin.mdp
@@ -68,7 +68,7 @@ explain select * from t0 left join t1 on t0.a=t1.a left join t2 on (t2.a=t0.a an
       <dxl:TraceFlags Value="101013,102001,102002,102003,103045,102046,102048,102053,102054,102120,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.195590.1.0" Name="t1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.195590.1.0" Name="t1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -122,7 +122,7 @@ explain select * from t0 left join t1 on t0.a=t1.a left join t2 on (t2.a=t0.a an
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.195606.1.0" Name="t2_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.195606.1.0" Name="t2_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -241,7 +241,7 @@ explain select * from t0 left join t1 on t0.a=t1.a left join t2 on (t2.a=t0.a an
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.195652.1.0" Name="idx_t4_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.195652.1.0" Name="idx_t4_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -332,7 +332,7 @@ explain select * from t0 left join t1 on t0.a=t1.a left join t2 on (t2.a=t0.a an
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.195690.1.0" Name="idx_t3_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.195690.1.0" Name="idx_t3_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKey-WithComplexPreds.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKey-WithComplexPreds.mdp
index b581642c24..a79bc59d2c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKey-WithComplexPreds.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKey-WithComplexPreds.mdp
@@ -68,7 +68,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp
index dcd118df73..c08d1822f4 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp
@@ -53,7 +53,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap.mdp
index 6564f7353b..64064008b9 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-Bitmap.mdp
@@ -52,7 +52,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-IncompletePDS-3-DistCols.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-IncompletePDS-3-DistCols.mdp
index 492758341f..91e0aa315f 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-IncompletePDS-3-DistCols.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-MultiDistKeys-IncompletePDS-3-DistCols.mdp
@@ -250,7 +250,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.409651.1.0" Name="bar_ixb" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.409651.1.0" Name="bar_ixb" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-No-Motion-Below-Join.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-No-Motion-Below-Join.mdp
index 0b128f3525..c439fe03f7 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-No-Motion-Below-Join.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-No-Motion-Below-Join.mdp
@@ -311,7 +311,7 @@ Table X (int i, int j) is distributed by i, column j has index
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="2"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -343,7 +343,7 @@ Table X (int i, int j) is distributed by i, column j has index
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-PartKey-Is-IndexKey.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-PartKey-Is-IndexKey.mdp
index a071b1a801..33b5a80c84 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-PartKey-Is-IndexKey.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-PartKey-Is-IndexKey.mdp
@@ -61,7 +61,7 @@ select z_p.j from z_p,tt_p where  z_p.i=6 and z_p.i<tt_p.i;
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.41880825.1.1.7" Name="tableoid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.41880825.1.1.6" Name="cmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.41881168.1.0" Name="idx_z_p_j_1_prt_z_p1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.41881168.1.0" Name="idx_z_p_j_1_prt_z_p1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -168,7 +168,7 @@ select z_p.j from z_p,tt_p where  z_p.i=6 and z_p.i<tt_p.i;
       <dxl:ColumnStatistics Mdid="1.41880987.1.1.4" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.41880825.1.1.5" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.41880825.1.1.4" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.41880949.1.0" Name="idx_tt_p_i_1_prt_tt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.41880949.1.0" Name="idx_tt_p_i_1_prt_tt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -464,7 +464,7 @@ select z_p.j from z_p,tt_p where  z_p.i=6 and z_p.i<tt_p.i;
       <dxl:ColumnStatistics Mdid="1.41880987.1.1.6" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.41880825.1.1.3" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.41880825.1.1.2" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.41881111.1.0" Name="idx_z_p_i_1_prt_z_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.41881111.1.0" Name="idx_z_p_i_1_prt_z_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-PartResolverExpand.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-PartResolverExpand.mdp
index ab133d7148..c4a074eaac 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-PartResolverExpand.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-PartResolverExpand.mdp
@@ -484,7 +484,7 @@ select count(*) from x10, y10 where (x10.i > y10.j AND x10.j <= y10.i);
           <dxl:UpperBound Closed="true" TypeMdid="0.25.1.0" Value="AAAAJGVjY2JjODdlNGI1Y2UyZmUyODMwOGZkOWYyYTdiYWYz" LintValue="162161524"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.26855161.1.0" Name="y_idx_1_prt_def" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.26855161.1.0" Name="y_idx_1_prt_def" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-PartTable.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-PartTable.mdp
index 829ca41649..168fad9cfb 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-PartTable.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-PartTable.mdp
@@ -1200,7 +1200,7 @@ ORDER BY 1 asc ;
         <dxl:SumAgg Mdid="0.2114.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16166830.1.0" Name="my_tq_agg_small_ets_end_ts_ix_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.16166830.1.0" Name="my_tq_agg_small_ets_end_ts_ix_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1980.1.0"/>
           <dxl:Opfamily Mdid="0.1980.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply-Redistribute-Const-Table.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply-Redistribute-Const-Table.mdp
index e446449d7d..0b7ec28884 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply-Redistribute-Const-Table.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply-Redistribute-Const-Table.mdp
@@ -311,7 +311,7 @@ Table X (int i, int j) is distributed by i, column i has index
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="2"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159874.1.0" Name="idx_x_j" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -332,7 +332,7 @@ Table X (int i, int j) is distributed by i, column i has index
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.17159920.1.0" Name="idx_x_i" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply1-CalibratedCostModel.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply1-CalibratedCostModel.mdp
index 581329cd6d..233ace8e4a 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply1-CalibratedCostModel.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply1-CalibratedCostModel.mdp
@@ -276,7 +276,7 @@
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.40972.1.1.3" Name="xmin" Width="4.000000" NullFreq="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.40972.1.1.2" Name="ctid" Width="6.000000" NullFreq="0.000000"/>
-      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply1.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply1.mdp
index 5b84776bd4..58b5b40fe8 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply1.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply1.mdp
@@ -271,7 +271,7 @@
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.40972.1.1.3" Name="xmin" Width="4.000000" NullFreq="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.40972.1.1.2" Name="ctid" Width="6.000000" NullFreq="0.000000"/>
-      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply2.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply2.mdp
index 149ecd9c6c..974c416413 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply2.mdp
@@ -264,7 +264,7 @@
       </dxl:GPDBScalarOp>
       <dxl:ColumnStatistics Mdid="1.40972.1.1.3" Name="xmin" Width="4.000000" NullFreq="0.000000"/>
       <dxl:ColumnStatistics Mdid="1.40972.1.1.2" Name="ctid" Width="6.000000" NullFreq="0.000000"/>
-      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply3.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply3.mdp
index 0c3aedb230..4949c32f08 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply3.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply3.mdp
@@ -271,7 +271,7 @@
         <dxl:OpFunc Mdid="0.177.1.0"/>
         <dxl:Commutator Mdid="0.551.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply4.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply4.mdp
index bede215865..cbb51e9f29 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply4.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply4.mdp
@@ -271,7 +271,7 @@
         <dxl:OpFunc Mdid="0.177.1.0"/>
         <dxl:Commutator Mdid="0.551.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1369110.1.0" Name="index_yj" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexApply_NestLoopWithNestParamTrue.mdp b/src/backend/gporca/data/dxl/minidump/IndexApply_NestLoopWithNestParamTrue.mdp
index 5c01afb8f2..8dd57b5d7c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexApply_NestLoopWithNestParamTrue.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexApply_NestLoopWithNestParamTrue.mdp
@@ -125,7 +125,7 @@
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.16402.1.0" Name="id1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16402.1.0" Name="id1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -222,7 +222,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16416.1.0" Name="id2" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16416.1.0" Name="id2" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexConstraintsMDidCache.mdp b/src/backend/gporca/data/dxl/minidump/IndexConstraintsMDidCache.mdp
index e0db261cd4..df88df560f 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexConstraintsMDidCache.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexConstraintsMDidCache.mdp
@@ -316,7 +316,7 @@
           <dxl:Opfamily Mdid="0.10003.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="7.16406.1.0" Name="test_mdid_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="7.16406.1.0" Name="test_mdid_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexGet-OuterRefs.mdp b/src/backend/gporca/data/dxl/minidump/IndexGet-OuterRefs.mdp
index eb8fcb2be4..ffbd22c0e6 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexGet-OuterRefs.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexGet-OuterRefs.mdp
@@ -120,7 +120,7 @@
       <dxl:ColumnStatistics Mdid="1.1119916.1.1.8" Name="gp_segment_id" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.1119916.1.1.1" Name="b" Width="8.000000"/>
       <dxl:ColumnStatistics Mdid="1.1119916.1.1.0" Name="a" Width="8.000000"/>
-      <dxl:Index Mdid="0.1119939.1.0" Name="t_a" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.1119939.1.0" Name="t_a" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexNLJ-IndexGet-OuterRef.mdp b/src/backend/gporca/data/dxl/minidump/IndexNLJ-IndexGet-OuterRef.mdp
index 070977db88..3f7e22f1db 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexNLJ-IndexGet-OuterRef.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexNLJ-IndexGet-OuterRef.mdp
@@ -65,7 +65,7 @@
         <dxl:CheckConstraints/>
       </dxl:Relation>
       <dxl:RelationStatistics Mdid="2.98319.1.0" Name="bar" Rows="100.000000" EmptyRelation="false"/>
-      <dxl:Index Mdid="0.98318.1.0" Name="foo_idx" IsClustered="false" IndexType="B-tree" KeyColumns="1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.98318.1.0" Name="foo_idx" IsClustered="false" IndexType="B-tree" KeyColumns="1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexNLJoin_Cast_NoMotion.mdp b/src/backend/gporca/data/dxl/minidump/IndexNLJoin_Cast_NoMotion.mdp
index 18e9ff86d9..dc1384f1d6 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexNLJoin_Cast_NoMotion.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexNLJoin_Cast_NoMotion.mdp
@@ -45,7 +45,7 @@ explain select * from R1 inner join S1 on a = b union all select * from R2 inner
       <dxl:TraceFlags Value="101013,102001,102002,102003,102120,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.130052.1.0" Name="r1_a_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3">
+      <dxl:Index Mdid="0.130052.1.0" Name="r1_a_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -65,7 +65,7 @@ explain select * from R1 inner join S1 on a = b union all select * from R2 inner
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.130069.1.0" Name="s1_b_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3">
+      <dxl:Index Mdid="0.130069.1.0" Name="s1_b_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -241,7 +241,7 @@ explain select * from R1 inner join S1 on a = b union all select * from R2 inner
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.130092.1.0" Name="r2_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.130092.1.0" Name="r2_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -249,7 +249,7 @@ explain select * from R1 inner join S1 on a = b union all select * from R2 inner
       <dxl:MDCast Mdid="3.25.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.25.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
       <dxl:ColumnStatistics Mdid="1.122064.1.0.0" Name="a" Width="2.000000" NullFreq="0.000000" NdvRemain="11.000000" FreqRemain="1.000000" ColStatsMissing="false"/>
       <dxl:MDCast Mdid="3.1043.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.1043.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
-      <dxl:Index Mdid="0.130113.1.0" Name="s2_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.130113.1.0" Name="s2_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddNewPartitionToRootTableContainingHeterogenousIndex.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddNewPartitionToRootTableContainingHeterogenousIndex.mdp
index e76e833a14..edd373ee25 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddNewPartitionToRootTableContainingHeterogenousIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddNewPartitionToRootTableContainingHeterogenousIndex.mdp
@@ -215,7 +215,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p3 WHERE c > 10;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.829540.1.0" Name="foo_1_prt_p3_c_key" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.829540.1.0" Name="foo_1_prt_p3_c_key" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddPartitionToRootWithHomogenousIndex.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddPartitionToRootWithHomogenousIndex.mdp
index 5013dfb910..8c15103db5 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddPartitionToRootWithHomogenousIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-AddPartitionToRootWithHomogenousIndex.mdp
@@ -54,7 +54,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p3 WHERE c > 10;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.829384.1.0" Name="foo_1_prt_p3_c_key" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.829384.1.0" Name="foo_1_prt_p3_c_key" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-IndexOnPartitionsWithDifferentStorageTypes.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-IndexOnPartitionsWithDifferentStorageTypes.mdp
index 6e6cc97efd..c299c660fa 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-IndexOnPartitionsWithDifferentStorageTypes.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-IndexOnPartitionsWithDifferentStorageTypes.mdp
@@ -296,7 +296,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.827950.1.0" Name="complete_idx_c_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.827950.1.0" Name="complete_idx_c_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-AO.mdp
index 0192addf51..cb77406196 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-AO.mdp
@@ -124,13 +124,13 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 10 AND f > 15;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.25116.1.0" Name="idx_root_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.25116.1.0" Name="idx_root_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.25133.1.0" Name="idx_p2_fe" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="5,4" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.25133.1.0" Name="idx_p2_fe" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="5,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp
index c268900c72..1711b015f6 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp
@@ -157,13 +157,13 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 10 AND f > 12;
       <dxl:ColumnStatistics Mdid="1.828078.1.0.12" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.828078.1.0.4" Name="e" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.828078.1.0.5" Name="f" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.828133.1.0" Name="idx_root_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.828133.1.0" Name="idx_root_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.828147.1.0" Name="idx_p2_cd" IsClustered="false" IndexType="B-tree" KeyColumns="4,5" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.828147.1.0" Name="idx_p2_cd" IsClustered="false" IndexType="B-tree" KeyColumns="4,5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp
index e5f8825f2c..ceda6e5c9b 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp
@@ -124,7 +124,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 10 AND d > 14;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.31024.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.31024.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -142,7 +142,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 10 AND d > 14;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="12"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.31069.1.0" Name="complete_idx_ef_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4,5" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.31069.1.0" Name="complete_idx_ef_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4,5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp
index 26cbdff9c2..48b5ead6cc 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-NonOverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp
@@ -79,7 +79,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE e > 20 OR f > 22;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.24976.1.0" Name="complete_idx_ef_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4,5" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.24976.1.0" Name="complete_idx_ef_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4,5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -182,7 +182,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE e > 20 OR f > 22;
           <dxl:CheckConstraint Mdid="0.24866.1.0"/>
         </dxl:CheckConstraints>
       </dxl:Relation>
-      <dxl:Index Mdid="0.25018.1.0" Name="complete_idx_f_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="5" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.25018.1.0" Name="complete_idx_f_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -197,7 +197,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE e > 20 OR f > 22;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="20"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.24931.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.24931.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-AO.mdp
index 35d3724e11..c7746d2d2e 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-AO.mdp
@@ -79,7 +79,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10 AND d > 20;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.30100.1.0" Name="idx_p1_cd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.30100.1.0" Name="idx_p1_cd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -262,7 +262,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10 AND d > 20;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.30066.1.0" Name="idx_root_cd_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.30066.1.0" Name="idx_root_cd_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp
index 16bae35707..8a09fddcde 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ANDPredicate-HEAP.mdp
@@ -374,7 +374,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10 AND d > 20;
       <dxl:ColumnStatistics Mdid="1.827971.1.0.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.827971.1.0.3" Name="d" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.827971.1.0.2" Name="c" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.828029.1.0" Name="idx_root_cd_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.828029.1.0" Name="idx_root_cd_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -388,7 +388,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10 AND d > 20;
       <dxl:ColumnStatistics Mdid="1.827971.1.0.8" Name="cmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.827971.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.827971.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.828057.1.0" Name="idx_p1_cd" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.828057.1.0" Name="idx_p1_cd" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ORPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ORPredicate-AO.mdp
index 8e0f3e8dc0..d4745b0893 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ORPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHeterogenousIndex-ORPredicate-AO.mdp
@@ -28,7 +28,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c > 11 OR d > 20;
       <dxl:TraceFlags Value="102001,102002,102003,102074,102120,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.24833.1.0" Name="idx_p1_cd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.24833.1.0" Name="idx_p1_cd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -324,7 +324,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c > 11 OR d > 20;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="19"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.24799.1.0" Name="idx_root_cd_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3,2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.24799.1.0" Name="idx_root_cd_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp
index 6defbb8d0f..8ce5142f7a 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ANDPredicate-AO.mdp
@@ -124,7 +124,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 10 AND d > 13;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.31282.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.31282.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -139,7 +139,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 10 AND d > 13;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="20"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.31327.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.31327.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-AO.mdp
index ef80e8c559..813f530fea 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-AO.mdp
@@ -52,7 +52,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE d > 10;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.24718.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3,2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.24718.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -176,7 +176,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE d > 10;
         </dxl:And>
       </dxl:CheckConstraint>
       <dxl:ColumnStatistics Mdid="1.24606.1.0.3" Name="d" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.24673.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.24673.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp
index 5a88b1851d..926d024f39 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-OverlappingHomogenousIndexesOnRoot-ORPredicate-AO.mdp
@@ -213,7 +213,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 12 OR d > 13;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16790.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3,2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.16790.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -321,7 +321,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p2 WHERE c > 12 OR d > 13;
           </dxl:Comparison>
         </dxl:And>
       </dxl:CheckConstraint>
-      <dxl:Index Mdid="0.16745.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.16745.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-AO.mdp
index b681004bad..6643664d37 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-AO.mdp
@@ -112,7 +112,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.827865.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.827865.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -307,7 +307,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.827831.1.0" Name="idx_p1_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.827831.1.0" Name="idx_p1_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-HEAP.mdp
index 57d7b3c5a2..311469ac53 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-1-HEAP.mdp
@@ -28,7 +28,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10;
       <dxl:TraceFlags Value="102001,102002,102003,102120,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.827725.1.0" Name="idx_p1_c" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.827725.1.0" Name="idx_p1_c" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -155,7 +155,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE c < 10;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.827753.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.827753.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-AO.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-AO.mdp
index 84e00789b2..8d5c394787 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-AO.mdp
@@ -112,7 +112,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE d < 10;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.827865.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.827865.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -179,7 +179,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE d < 10;
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.827831.1.0" Name="idx_p1_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6">
+      <dxl:Index Mdid="0.827831.1.0" Name="idx_p1_c" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-HEAP.mdp
index 91424d911f..cb031f4f3c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnLeaf-SingleColumnHeterogenousIndexOnRoot-2-HEAP.mdp
@@ -28,7 +28,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE d < 10;
       <dxl:TraceFlags Value="102001,102002,102003,102120,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.827725.1.0" Name="idx_p1_c" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.827725.1.0" Name="idx_p1_c" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -155,7 +155,7 @@ EXPLAIN SELECT * FROM foo_1_prt_p1 WHERE d < 10;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.827753.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.827753.1.0" Name="idx_root_d_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexOnlyScan-NoDistKeyInIndex.mdp b/src/backend/gporca/data/dxl/minidump/IndexOnlyScan-NoDistKeyInIndex.mdp
index acf67c45e8..3ab27429d4 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexOnlyScan-NoDistKeyInIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexOnlyScan-NoDistKeyInIndex.mdp
@@ -185,7 +185,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.73764.1.0" Name="table_with_index_not_covering_distribution_column_b_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.73764.1.0" Name="table_with_index_not_covering_distribution_column_b_idx" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-AOTable.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-AOTable.mdp
index 63b612f0c0..80786b53bd 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-AOTable.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-AOTable.mdp
@@ -47,7 +47,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.507751.1.0" Name="ao_j" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.507751.1.0" Name="ao_j" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-AndedIn.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-AndedIn.mdp
index c06a6b051d..2167a8801c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-AndedIn.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-AndedIn.mdp
@@ -2219,7 +2219,7 @@
           <dxl:Opfamily Mdid="0.12732.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.106220.1.0" Name="tenk1_thous_tenthous" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.106220.1.0" Name="tenk1_thous_tenthous" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-BoolFalse.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-BoolFalse.mdp
index e2faddcebc..3da79eac02 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-BoolFalse.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-BoolFalse.mdp
@@ -54,7 +54,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.296558.1.0" Name="s_b" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.296558.1.0" Name="s_b" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-BoolTrue.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-BoolTrue.mdp
index 5cbce19469..1bdcc83ce0 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-BoolTrue.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-BoolTrue.mdp
@@ -54,7 +54,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.296558.1.0" Name="s_b" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.296558.1.0" Name="s_b" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-DroppedColumns.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-DroppedColumns.mdp
index 97007989b9..8202897adb 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-DroppedColumns.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-DroppedColumns.mdp
@@ -67,7 +67,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.567205.1.0" Name="r_c" IsClustered="false" KeyColumns="2" IncludedColumns="0,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.567205.1.0" Name="r_c" IsClustered="false" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsAOPart.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsAOPart.mdp
index 0382a63070..5f22b01ca1 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsAOPart.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsAOPart.mdp
@@ -415,7 +415,7 @@
         </dxl:PartConstraint>
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.372761.1.0.2" Name="c" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.372827.1.0" Name="foo_ab_ix_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.372827.1.0" Name="foo_ab_ix_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsNonPart.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsNonPart.mdp
index d582b079cb..3c46b26b2d 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsNonPart.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-ORPredsNonPart.mdp
@@ -170,7 +170,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.372760.1.0" Name="foo_ab_ix" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.372760.1.0" Name="foo_ab_ix" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScan-Relabel.mdp b/src/backend/gporca/data/dxl/minidump/IndexScan-Relabel.mdp
index 14bd60a819..ddb9cef48e 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScan-Relabel.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScan-Relabel.mdp
@@ -612,7 +612,7 @@
         <dxl:CheckConstraints/>
       </dxl:Relation>
       <dxl:MDCast Mdid="3.1043.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.1043.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0"/>
-      <dxl:Index Mdid="0.603018.1.0" Name="r_idx" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.603018.1.0" Name="r_idx" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.2003.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexScanWithNestedCTEAndSetOp.mdp b/src/backend/gporca/data/dxl/minidump/IndexScanWithNestedCTEAndSetOp.mdp
index d0dc692b8a..41b6c2f48c 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexScanWithNestedCTEAndSetOp.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexScanWithNestedCTEAndSetOp.mdp
@@ -118,7 +118,7 @@ SELECT a FROM y WHERE (a IN (SELECT b FROM bar WHERE b = 2));
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.53653.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7">
+      <dxl:Index Mdid="0.53653.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/IndexedNLJBitmap.mdp b/src/backend/gporca/data/dxl/minidump/IndexedNLJBitmap.mdp
index 1483dd47de..d227eeb411 100644
--- a/src/backend/gporca/data/dxl/minidump/IndexedNLJBitmap.mdp
+++ b/src/backend/gporca/data/dxl/minidump/IndexedNLJBitmap.mdp
@@ -293,7 +293,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.32178.1.0" Name="bar_c_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32178.1.0" Name="bar_c_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -442,7 +442,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.32202.1.0" Name="foo_a_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32202.1.0" Name="foo_a_1_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Insert-With-HJ-CTE-Agg.mdp b/src/backend/gporca/data/dxl/minidump/Insert-With-HJ-CTE-Agg.mdp
index b69d645e15..48164d9af1 100644
--- a/src/backend/gporca/data/dxl/minidump/Insert-With-HJ-CTE-Agg.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Insert-With-HJ-CTE-Agg.mdp
@@ -143,7 +143,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.57364.1.0" Name="country_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.57364.1.0" Name="country_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.426.1.0"/>
         </dxl:Opfamilies>
@@ -326,7 +326,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.57385.1.0" Name="countrylanguage_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.57385.1.0" Name="countrylanguage_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.426.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/Join-Disj-Subqs.mdp b/src/backend/gporca/data/dxl/minidump/Join-Disj-Subqs.mdp
index cf0645114f..03c4d87bb2 100644
--- a/src/backend/gporca/data/dxl/minidump/Join-Disj-Subqs.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Join-Disj-Subqs.mdp
@@ -62,7 +62,7 @@ OR
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.6029.1.0" Name="pg_authid_rolresqueue_index" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.6029.1.0" Name="pg_authid_rolresqueue_index" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
@@ -721,12 +721,12 @@ OR
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.2677.1.0" Name="pg_authid_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="18" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.2677.1.0" Name="pg_authid_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="18" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2676.1.0" Name="pg_authid_rolname_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.2676.1.0" Name="pg_authid_rolname_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/JoinColWithOnlyNDV.mdp b/src/backend/gporca/data/dxl/minidump/JoinColWithOnlyNDV.mdp
index 5c18af0662..72caab6833 100644
--- a/src/backend/gporca/data/dxl/minidump/JoinColWithOnlyNDV.mdp
+++ b/src/backend/gporca/data/dxl/minidump/JoinColWithOnlyNDV.mdp
@@ -130,7 +130,7 @@
         <dxl:SumAgg Mdid="0.2114.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.642410.1.0" Name="web_sales_pkey" IsClustered="false" KeyColumns="3,17" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.642410.1.0" Name="web_sales_pkey" IsClustered="false" KeyColumns="3,17" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -2993,7 +2993,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.642441.1.0" Name="web_site_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32">
+      <dxl:Index Mdid="0.642441.1.0" Name="web_site_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/JoinNDVRemain.mdp b/src/backend/gporca/data/dxl/minidump/JoinNDVRemain.mdp
index a7b03ce192..f6c1ef5c1e 100644
--- a/src/backend/gporca/data/dxl/minidump/JoinNDVRemain.mdp
+++ b/src/backend/gporca/data/dxl/minidump/JoinNDVRemain.mdp
@@ -890,7 +890,7 @@ select * from customer_address, store where customer_address.ca_county::text = s
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
       <dxl:MDCast Mdid="3.25.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.25.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0"/>
-      <dxl:Index Mdid="0.525049.1.0" Name="store_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35">
+      <dxl:Index Mdid="0.525049.1.0" Name="store_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -1752,7 +1752,7 @@ select * from customer_address, store where customer_address.ca_county::text = s
           <dxl:UpperBound Closed="true" TypeMdid="0.1042.1.0" Value="AAAADjk5OSAgICAgICA=" LintValue="825230246"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.518353.1.0" Name="customer_address_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19">
+      <dxl:Index Mdid="0.518353.1.0" Name="customer_address_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndex.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndex.mdp
index 5212f3a27a..4de03b3e23 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndex.mdp
@@ -390,7 +390,7 @@
         </dxl:PartConstraint>
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.417828.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.417854.1.0" Name="tinner_1_prt_1_a_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.417854.1.0" Name="tinner_1_prt_1_a_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndexWithSelect.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndexWithSelect.mdp
index 4485005b68..f3f8e0701c 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndexWithSelect.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-DynBitmapIndexWithSelect.mdp
@@ -389,7 +389,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.417881.1.0" Name="tinner_1_prt_1_a_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.417881.1.0" Name="tinner_1_prt_1_a_idx" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndex.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndex.mdp
index 2a5c35c157..d22384b3c4 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndex.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndex.mdp
@@ -251,7 +251,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.27540.1.0" Name="tinner_ix_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.27540.1.0" Name="tinner_ix_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndexWithSelect.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndexWithSelect.mdp
index b5ea861769..de0b6a0f38 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndexWithSelect.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-DynBtreeIndexWithSelect.mdp
@@ -329,7 +329,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.27684.1.0" Name="tinner_ix_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.27684.1.0" Name="tinner_ix_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-HashJoin-MultiDistKeys-WithComplexPreds.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-HashJoin-MultiDistKeys-WithComplexPreds.mdp
index c3c8cb5fb4..d8ab5b9be8 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-HashJoin-MultiDistKeys-WithComplexPreds.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-HashJoin-MultiDistKeys-WithComplexPreds.mdp
@@ -70,7 +70,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-Equiv.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-Equiv.mdp
index 3442c52380..e055a89f34 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-Equiv.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-Equiv.mdp
@@ -230,7 +230,7 @@ explain select * from foo left join bar on foo.a = bar.a and foo.b = bar.b left
       </dxl:Relation>
       <dxl:MDCast Mdid="3.1043.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.1043.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
       <dxl:RelationStatistics Mdid="2.65603.1.0" Name="zoo" Rows="0.000000" EmptyRelation="true"/>
-      <dxl:Index Mdid="0.65602.1.0" Name="bar_idx_ab" IsClustered="false" IndexType="B-tree" KeyColumns="1,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.65602.1.0" Name="bar_idx_ab" IsClustered="false" IndexType="B-tree" KeyColumns="1,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
@@ -264,7 +264,7 @@ explain select * from foo left join bar on foo.a = bar.a and foo.b = bar.b left
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.65577.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.65577.1.0.0" Name="a" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.65626.1.0" Name="zoo_idx_ab" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.65626.1.0" Name="zoo_idx_ab" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-NoMotion.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-NoMotion.mdp
index ff6bdd0ee6..7813c60bb0 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-NoMotion.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CompsiteKey-NoMotion.mdp
@@ -309,14 +309,14 @@ explain select * from foo left join bar on foo.a = bar.a and foo.b = bar.b left
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.49205.1.0" Name="bar_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49205.1.0" Name="bar_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
       <dxl:MDCast Mdid="3.1043.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.1043.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
-      <dxl:Index Mdid="0.49209.1.0" Name="zoo_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49209.1.0" Name="zoo_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CoordinatorOnly-Table.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CoordinatorOnly-Table.mdp
new file mode 100644
index 0000000000..e405d55374
--- /dev/null
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-CoordinatorOnly-Table.mdp
@@ -0,0 +1,1014 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Left outer index apply on coordinator only table, distributed outer child should gather on coordinator.
+Non-equal join condition is also fine for coordinator only tables.
+
+create table foo(a varchar, b varchar);
+create table bar(a varchar, b varchar);
+set optimizer_enable_hashjoin=off;
+set optimizer_enable_motion_broadcast = off;
+set optimizer_enable_coordinator_only_queries = on;
+
+explain
+(select foo.*, relam from foo left join pg_class on foo.a::oid = pg_class.oid)
+union all
+(select bar.*, typelem from bar left join pg_type on bar.b::oid<pg_type.oid);
+
+                                            QUERY PLAN
+ Append  (cost=0.00..2792.17 rows=1 width=20)
+   ->  Nested Loop Left Join  (cost=0.00..1403.14 rows=1 width=20)
+         Join Filter: true
+         ->  Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..431.00 rows=1 width=16)
+               ->  Table Scan on foo  (cost=0.00..431.00 rows=1 width=16)
+         ->  Index Scan using pg_class_oid_index on pg_class  (cost=0.00..972.14 rows=54 width=4)
+               Index Cond: pg_class.oid = foo.a::oid
+   ->  Nested Loop Left Join  (cost=0.00..1389.03 rows=1 width=20)
+         Join Filter: true
+         ->  Gather Motion 3:1  (slice2; segments: 3)  (cost=0.00..431.00 rows=1 width=16)
+               ->  Table Scan on bar  (cost=0.00..431.00 rows=1 width=16)
+         ->  Index Scan using pg_type_oid_index on pg_type  (cost=0.00..958.03 rows=54 width=4)
+               Index Cond: pg_type.oid > bar.b::oid
+ Settings:  optimizer=on; optimizer_nestloop_factor=1
+ Optimizer status: PQO version 2.53.9
+(15 rows)
+-->
+<dxl:DXLMessage xmlns:dxl="http://greenplum.com/dxl/2010/12/">
+  <dxl:Thread Id="0">
+    <dxl:OptimizerConfig>
+      <dxl:EnumeratorConfig Id="0" PlanSamples="0" CostThreshold="0"/>
+      <dxl:StatisticsConfig DampingFactorFilter="0.750000" DampingFactorJoin="0.010000" DampingFactorGroupBy="0.750000" MaxStatsBuckets="100"/>
+      <dxl:CTEConfig CTEInliningCutoff="0"/>
+      <dxl:WindowOids RowNumber="3100" Rank="3101"/>
+      <dxl:CostModelConfig CostModelType="1" SegmentsForCosting="3">
+        <dxl:CostParams>
+          <dxl:CostParam Name="NLJFactor" Value="1.000000" LowerBound="0.500000" UpperBound="1.500000"/>
+        </dxl:CostParams>
+      </dxl:CostModelConfig>
+      <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="25" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="10000000" EnforceConstraintsOnDML="false"/>
+      <dxl:TraceFlags Value="101013,102001,102002,102003,103045,102046,102048,102053,102054,102120,102144,103001,103004,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
+    </dxl:OptimizerConfig>
+    <dxl:Metadata SystemIds="0.GPDB">
+      <dxl:Type Mdid="0.1034.1.0" Name="_aclitem" IsRedistributable="true" IsHashable="false" IsMergeJoinable="false" IsComposite="false" IsFixedLength="false" Length="-1" PassByValue="false">
+        <dxl:EqualityOp Mdid="0.1070.1.0"/>
+        <dxl:InequalityOp Mdid="0.1071.1.0"/>
+        <dxl:LessThanOp Mdid="0.1072.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.1074.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.1073.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.1075.1.0"/>
+        <dxl:ComparisonOp Mdid="0.382.1.0"/>
+        <dxl:ArrayType Mdid="0.0.0.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Index Mdid="0.2703.1.0" Name="pg_type_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="29" IncludedColumns="">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
+      <dxl:Index Mdid="0.2704.1.0" Name="pg_type_typname_nsp_index" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1986.1.0"/>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
+      <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="1" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.91.1.0"/>
+        <dxl:InequalityOp Mdid="0.85.1.0"/>
+        <dxl:LessThanOp Mdid="0.58.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.1694.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.59.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.1695.1.0"/>
+        <dxl:ComparisonOp Mdid="0.1693.1.0"/>
+        <dxl:ArrayType Mdid="0.1000.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.18.1.0" Name="char" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="1" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.92.1.0"/>
+        <dxl:InequalityOp Mdid="0.630.1.0"/>
+        <dxl:LessThanOp Mdid="0.631.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.632.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.633.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.634.1.0"/>
+        <dxl:ComparisonOp Mdid="0.358.1.0"/>
+        <dxl:ArrayType Mdid="0.1002.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.19.1.0" Name="name" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="64" PassByValue="false">
+        <dxl:EqualityOp Mdid="0.93.1.0"/>
+        <dxl:InequalityOp Mdid="0.643.1.0"/>
+        <dxl:LessThanOp Mdid="0.660.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.661.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.662.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.663.1.0"/>
+        <dxl:ComparisonOp Mdid="0.359.1.0"/>
+        <dxl:ArrayType Mdid="0.1003.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.1043.1.0" Name="varchar" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="true" IsFixedLength="false" Length="-1" PassByValue="false">
+        <dxl:EqualityOp Mdid="0.98.1.0"/>
+        <dxl:InequalityOp Mdid="0.531.1.0"/>
+        <dxl:LessThanOp Mdid="0.664.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.665.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.666.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.667.1.0"/>
+        <dxl:ComparisonOp Mdid="0.360.1.0"/>
+        <dxl:ArrayType Mdid="0.1015.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.21.1.0" Name="int2" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="2" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.94.1.0"/>
+        <dxl:InequalityOp Mdid="0.519.1.0"/>
+        <dxl:LessThanOp Mdid="0.95.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.522.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.520.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.524.1.0"/>
+        <dxl:ComparisonOp Mdid="0.350.1.0"/>
+        <dxl:ArrayType Mdid="0.1005.1.0"/>
+        <dxl:MinAgg Mdid="0.2133.1.0"/>
+        <dxl:MaxAgg Mdid="0.2117.1.0"/>
+        <dxl:AvgAgg Mdid="0.2102.1.0"/>
+        <dxl:SumAgg Mdid="0.2109.1.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.96.1.0"/>
+        <dxl:InequalityOp Mdid="0.518.1.0"/>
+        <dxl:LessThanOp Mdid="0.97.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.523.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.521.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.525.1.0"/>
+        <dxl:ComparisonOp Mdid="0.351.1.0"/>
+        <dxl:ArrayType Mdid="0.1007.1.0"/>
+        <dxl:MinAgg Mdid="0.2132.1.0"/>
+        <dxl:MaxAgg Mdid="0.2116.1.0"/>
+        <dxl:AvgAgg Mdid="0.2101.1.0"/>
+        <dxl:SumAgg Mdid="0.2108.1.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.25.1.0" Name="text" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="true" IsFixedLength="false" Length="-1" PassByValue="false">
+        <dxl:EqualityOp Mdid="0.98.1.0"/>
+        <dxl:InequalityOp Mdid="0.531.1.0"/>
+        <dxl:LessThanOp Mdid="0.664.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.665.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.666.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.667.1.0"/>
+        <dxl:ComparisonOp Mdid="0.360.1.0"/>
+        <dxl:ArrayType Mdid="0.1009.1.0"/>
+        <dxl:MinAgg Mdid="0.2145.1.0"/>
+        <dxl:MaxAgg Mdid="0.2129.1.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.24.1.0" Name="regproc" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.607.1.0"/>
+        <dxl:InequalityOp Mdid="0.608.1.0"/>
+        <dxl:LessThanOp Mdid="0.609.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.611.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.610.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.612.1.0"/>
+        <dxl:ComparisonOp Mdid="0.356.1.0"/>
+        <dxl:ArrayType Mdid="0.1008.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:ColumnStatistics Mdid="1.1259.1.0.4" Name="relam" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false">
+        <dxl:StatsBucket Frequency="0.629630" DistinctValues="1.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.26.1.0" Value="0"/>
+          <dxl:UpperBound Closed="true" TypeMdid="0.26.1.0" Value="0"/>
+        </dxl:StatsBucket>
+        <dxl:StatsBucket Frequency="0.370370" DistinctValues="1.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.26.1.0" Value="403"/>
+          <dxl:UpperBound Closed="true" TypeMdid="0.26.1.0" Value="403"/>
+        </dxl:StatsBucket>
+      </dxl:ColumnStatistics>
+      <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.607.1.0"/>
+        <dxl:InequalityOp Mdid="0.608.1.0"/>
+        <dxl:LessThanOp Mdid="0.609.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.611.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.610.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.612.1.0"/>
+        <dxl:ComparisonOp Mdid="0.356.1.0"/>
+        <dxl:ArrayType Mdid="0.1028.1.0"/>
+        <dxl:MinAgg Mdid="0.2118.1.0"/>
+        <dxl:MaxAgg Mdid="0.2134.1.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.27.1.0" Name="tid" IsRedistributable="true" IsHashable="false" IsMergeJoinable="false" IsComposite="false" IsFixedLength="true" Length="6" PassByValue="false">
+        <dxl:EqualityOp Mdid="0.387.1.0"/>
+        <dxl:InequalityOp Mdid="0.402.1.0"/>
+        <dxl:LessThanOp Mdid="0.2799.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.2801.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.2800.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.2802.1.0"/>
+        <dxl:ComparisonOp Mdid="0.2794.1.0"/>
+        <dxl:ArrayType Mdid="0.1010.1.0"/>
+        <dxl:MinAgg Mdid="0.2798.1.0"/>
+        <dxl:MaxAgg Mdid="0.2797.1.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.29.1.0" Name="cid" IsRedistributable="false" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.385.1.0"/>
+        <dxl:InequalityOp Mdid="0.0.0.0"/>
+        <dxl:LessThanOp Mdid="0.0.0.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.0.0.0"/>
+        <dxl:GreaterThanOp Mdid="0.0.0.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.0.0.0"/>
+        <dxl:ComparisonOp Mdid="0.0.0.0"/>
+        <dxl:ArrayType Mdid="0.1012.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:Type Mdid="0.28.1.0" Name="xid" IsRedistributable="false" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.352.1.0"/>
+        <dxl:InequalityOp Mdid="0.0.0.0"/>
+        <dxl:LessThanOp Mdid="0.0.0.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.0.0.0"/>
+        <dxl:GreaterThanOp Mdid="0.0.0.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.0.0.0"/>
+        <dxl:ComparisonOp Mdid="0.0.0.0"/>
+        <dxl:ArrayType Mdid="0.1011.1.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:ColumnStatistics Mdid="1.2031667.1.0.1" Name="b" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:ColumnStatistics Mdid="1.2031667.1.0.0" Name="a" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:ColumnStatistics Mdid="1.1247.1.0.29" Name="oid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:Type Mdid="0.700.1.0" Name="float4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsFixedLength="true" Length="4" PassByValue="true">
+        <dxl:EqualityOp Mdid="0.620.1.0"/>
+        <dxl:InequalityOp Mdid="0.621.1.0"/>
+        <dxl:LessThanOp Mdid="0.622.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.624.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.623.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.625.1.0"/>
+        <dxl:ComparisonOp Mdid="0.354.1.0"/>
+        <dxl:ArrayType Mdid="0.1021.1.0"/>
+        <dxl:MinAgg Mdid="0.2135.1.0"/>
+        <dxl:MaxAgg Mdid="0.2119.1.0"/>
+        <dxl:AvgAgg Mdid="0.2104.1.0"/>
+        <dxl:SumAgg Mdid="0.2110.1.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:ColumnStatistics Mdid="1.2031673.1.0.1" Name="b" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:ColumnStatistics Mdid="1.2031673.1.0.0" Name="a" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+      <dxl:ColumnStatistics Mdid="1.1247.1.0.11" Name="typelem" Width="4.000000" NullFreq="0.000000" NdvRemain="63.000000" FreqRemain="0.175439" ColStatsMissing="false">
+        <dxl:StatsBucket Frequency="0.824561" DistinctValues="1.000000">
+          <dxl:LowerBound Closed="true" TypeMdid="0.26.1.0" Value="0"/>
+          <dxl:UpperBound Closed="true" TypeMdid="0.26.1.0" Value="0"/>
+        </dxl:StatsBucket>
+      </dxl:ColumnStatistics>
+      <dxl:RelationStatistics Mdid="2.1247.1.0" Name="pg_type" Rows="399.000000" EmptyRelation="false"/>
+      <dxl:Relation Mdid="6.1247.1.0" Name="pg_type" IsTemporary="false" StorageType="Heap" DistributionPolicy="CoordinatorOnly" Keys="35,28">
+        <dxl:Columns>
+          <dxl:Column Name="typname" Attno="1" Mdid="0.19.1.0" Nullable="false" ColWidth="64">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typnamespace" Attno="2" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typowner" Attno="3" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typlen" Attno="4" Mdid="0.21.1.0" Nullable="false" ColWidth="2">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typbyval" Attno="5" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typtype" Attno="6" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typcategory" Attno="7" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typispreferred" Attno="8" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typisdefined" Attno="9" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typdelim" Attno="10" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typrelid" Attno="11" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typelem" Attno="12" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typarray" Attno="13" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typinput" Attno="14" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typoutput" Attno="15" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typreceive" Attno="16" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typsend" Attno="17" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typmodin" Attno="18" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typmodout" Attno="19" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typanalyze" Attno="20" Mdid="0.24.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typalign" Attno="21" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typstorage" Attno="22" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typnotnull" Attno="23" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typbasetype" Attno="24" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typtypmod" Attno="25" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typndims" Attno="26" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typdefaultbin" Attno="27" Mdid="0.25.1.0" Nullable="true" ColWidth="480">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="typdefault" Attno="28" Mdid="0.25.1.0" Nullable="true" ColWidth="43">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="oid" Attno="-2" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmin" Attno="-3" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmin" Attno="-4" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmax" Attno="-5" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmax" Attno="-6" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="tableoid" Attno="-7" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="gp_segment_id" Attno="-8" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+        </dxl:Columns>
+        <dxl:IndexInfoList>
+          <dxl:IndexInfo Mdid="0.2703.1.0" IsPartial="false"/>
+          <dxl:IndexInfo Mdid="0.2704.1.0" IsPartial="false"/>
+        </dxl:IndexInfoList>
+        <dxl:CheckConstraints/>
+      </dxl:Relation>
+      <dxl:GPDBScalarOp Mdid="0.607.1.0" Name="=" ComparisonType="Eq" ReturnsNullOnNullInput="true">
+        <dxl:LeftType Mdid="0.26.1.0"/>
+        <dxl:RightType Mdid="0.26.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.184.1.0"/>
+        <dxl:Commutator Mdid="0.607.1.0"/>
+        <dxl:InverseOp Mdid="0.608.1.0"/>
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+          <dxl:Opfamily Mdid="0.1990.1.0"/>
+          <dxl:Opfamily Mdid="0.7033.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:GPDBScalarOp>
+      <dxl:GPDBScalarOp Mdid="0.609.1.0" Name="&lt;" ComparisonType="LT" ReturnsNullOnNullInput="true">
+        <dxl:LeftType Mdid="0.26.1.0"/>
+        <dxl:RightType Mdid="0.26.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.716.1.0"/>
+        <dxl:Commutator Mdid="0.610.1.0"/>
+        <dxl:InverseOp Mdid="0.612.1.0"/>
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+          <dxl:Opfamily Mdid="0.7033.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:GPDBScalarOp>
+      <dxl:GPDBScalarOp Mdid="0.610.1.0" Name="&gt;" ComparisonType="GT" ReturnsNullOnNullInput="true">
+        <dxl:LeftType Mdid="0.26.1.0"/>
+        <dxl:RightType Mdid="0.26.1.0"/>
+        <dxl:ResultType Mdid="0.16.1.0"/>
+        <dxl:OpFunc Mdid="0.1638.1.0"/>
+        <dxl:Commutator Mdid="0.609.1.0"/>
+        <dxl:InverseOp Mdid="0.611.1.0"/>
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+          <dxl:Opfamily Mdid="0.7033.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:GPDBScalarOp>
+      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1986.1.0"/>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
+      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="27" IncludedColumns="">
+        <dxl:Opfamilies>
+          <dxl:Opfamily Mdid="0.1989.1.0"/>
+        </dxl:Opfamilies>
+      </dxl:Index>
+      <dxl:RelationStatistics Mdid="2.1259.1.0" Name="pg_class" Rows="405.000000" EmptyRelation="false"/>
+      <dxl:Relation Mdid="6.1259.1.0" Name="pg_class" IsTemporary="false" StorageType="Heap" DistributionPolicy="CoordinatorOnly" Keys="33,26">
+        <dxl:Columns>
+          <dxl:Column Name="relname" Attno="1" Mdid="0.19.1.0" Nullable="false" ColWidth="64">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relnamespace" Attno="2" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="reltype" Attno="3" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relowner" Attno="4" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relam" Attno="5" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relfilenode" Attno="6" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="reltablespace" Attno="7" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relpages" Attno="8" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="reltuples" Attno="9" Mdid="0.700.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="reltoastrelid" Attno="10" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="reltoastidxid" Attno="11" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relhasindex" Attno="12" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relisshared" Attno="13" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relistemp" Attno="14" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relkind" Attno="15" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relstorage" Attno="16" Mdid="0.18.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relnatts" Attno="17" Mdid="0.21.1.0" Nullable="false" ColWidth="2">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relchecks" Attno="18" Mdid="0.21.1.0" Nullable="false" ColWidth="2">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relhasoids" Attno="19" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relhaspkey" Attno="20" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relhasrules" Attno="21" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relhastriggers" Attno="22" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relhassubclass" Attno="23" Mdid="0.16.1.0" Nullable="false" ColWidth="1">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relfrozenxid" Attno="24" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="relacl" Attno="25" Mdid="0.1034.1.0" Nullable="true" ColWidth="37">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="reloptions" Attno="26" Mdid="0.1009.1.0" Nullable="true" ColWidth="0">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="oid" Attno="-2" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmin" Attno="-3" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmin" Attno="-4" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmax" Attno="-5" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmax" Attno="-6" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="tableoid" Attno="-7" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="gp_segment_id" Attno="-8" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+        </dxl:Columns>
+        <dxl:IndexInfoList>
+          <dxl:IndexInfo Mdid="0.2662.1.0" IsPartial="false"/>
+          <dxl:IndexInfo Mdid="0.2663.1.0" IsPartial="false"/>
+        </dxl:IndexInfoList>
+        <dxl:CheckConstraints/>
+      </dxl:Relation>
+      <dxl:Type Mdid="0.1009.1.0" Name="_text" IsRedistributable="true" IsHashable="false" IsMergeJoinable="false" IsComposite="false" IsFixedLength="false" Length="-1" PassByValue="false">
+        <dxl:EqualityOp Mdid="0.1070.1.0"/>
+        <dxl:InequalityOp Mdid="0.1071.1.0"/>
+        <dxl:LessThanOp Mdid="0.1072.1.0"/>
+        <dxl:LessThanEqualsOp Mdid="0.1074.1.0"/>
+        <dxl:GreaterThanOp Mdid="0.1073.1.0"/>
+        <dxl:GreaterThanEqualsOp Mdid="0.1075.1.0"/>
+        <dxl:ComparisonOp Mdid="0.382.1.0"/>
+        <dxl:ArrayType Mdid="0.0.0.0"/>
+        <dxl:MinAgg Mdid="0.0.0.0"/>
+        <dxl:MaxAgg Mdid="0.0.0.0"/>
+        <dxl:AvgAgg Mdid="0.0.0.0"/>
+        <dxl:SumAgg Mdid="0.0.0.0"/>
+        <dxl:CountAgg Mdid="0.2147.1.0"/>
+      </dxl:Type>
+      <dxl:RelationStatistics Mdid="2.2031667.1.0" Name="foo" Rows="0.000000" EmptyRelation="true"/>
+      <dxl:Relation Mdid="6.2031667.1.0" Name="foo" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2">
+        <dxl:Columns>
+          <dxl:Column Name="a" Attno="1" Mdid="0.1043.1.0" Nullable="true" ColWidth="8">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="b" Attno="2" Mdid="0.1043.1.0" Nullable="true" ColWidth="8">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmin" Attno="-3" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmin" Attno="-4" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmax" Attno="-5" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmax" Attno="-6" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="tableoid" Attno="-7" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="gp_segment_id" Attno="-8" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+        </dxl:Columns>
+        <dxl:IndexInfoList/>
+        <dxl:CheckConstraints/>
+      </dxl:Relation>
+      <dxl:RelationStatistics Mdid="2.2031673.1.0" Name="bar" Rows="0.000000" EmptyRelation="true"/>
+      <dxl:Relation Mdid="6.2031673.1.0" Name="bar" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2">
+        <dxl:Columns>
+          <dxl:Column Name="a" Attno="1" Mdid="0.1043.1.0" Nullable="true" ColWidth="8">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="b" Attno="2" Mdid="0.1043.1.0" Nullable="true" ColWidth="8">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmin" Attno="-3" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmin" Attno="-4" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="xmax" Attno="-5" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="cmax" Attno="-6" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="tableoid" Attno="-7" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+          <dxl:Column Name="gp_segment_id" Attno="-8" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
+            <dxl:DefaultValue/>
+          </dxl:Column>
+        </dxl:Columns>
+        <dxl:IndexInfoList>
+          <dxl:IndexInfo Mdid="0.2031702.1.0" IsPartial="false"/>
+          <dxl:IndexInfo Mdid="0.2031716.1.0" IsPartial="false"/>
+        </dxl:IndexInfoList>
+        <dxl:CheckConstraints/>
+      </dxl:Relation>
+      <dxl:ColumnStatistics Mdid="1.1259.1.0.27" Name="oid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
+    </dxl:Metadata>
+    <dxl:Query>
+      <dxl:OutputColumns>
+        <dxl:Ident ColId="1" ColName="a" TypeMdid="0.1043.1.0"/>
+        <dxl:Ident ColId="2" ColName="b" TypeMdid="0.1043.1.0"/>
+        <dxl:Ident ColId="14" ColName="relam" TypeMdid="0.26.1.0"/>
+      </dxl:OutputColumns>
+      <dxl:CTEList/>
+      <dxl:UnionAll InputColumns="1,2,14;44,45,64" CastAcrossInputs="false">
+        <dxl:Columns>
+          <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.1043.1.0"/>
+          <dxl:Column ColId="2" Attno="2" ColName="b" TypeMdid="0.1043.1.0"/>
+          <dxl:Column ColId="14" Attno="3" ColName="relam" TypeMdid="0.26.1.0"/>
+        </dxl:Columns>
+        <dxl:LogicalJoin JoinType="Left">
+          <dxl:LogicalGet>
+            <dxl:TableDescriptor Mdid="6.2031667.1.0" TableName="foo">
+              <dxl:Columns>
+                <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                <dxl:Column ColId="2" Attno="2" ColName="b" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                <dxl:Column ColId="3" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                <dxl:Column ColId="4" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="5" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="6" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="7" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="8" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="9" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              </dxl:Columns>
+            </dxl:TableDescriptor>
+          </dxl:LogicalGet>
+          <dxl:LogicalGet>
+            <dxl:TableDescriptor Mdid="6.1259.1.0" TableName="pg_class">
+              <dxl:Columns>
+                <dxl:Column ColId="10" Attno="1" ColName="relname" TypeMdid="0.19.1.0" ColWidth="64"/>
+                <dxl:Column ColId="11" Attno="2" ColName="relnamespace" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="12" Attno="3" ColName="reltype" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="13" Attno="4" ColName="relowner" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="14" Attno="5" ColName="relam" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="15" Attno="6" ColName="relfilenode" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="16" Attno="7" ColName="reltablespace" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="17" Attno="8" ColName="relpages" TypeMdid="0.23.1.0" ColWidth="4"/>
+                <dxl:Column ColId="18" Attno="9" ColName="reltuples" TypeMdid="0.700.1.0" ColWidth="4"/>
+                <dxl:Column ColId="19" Attno="10" ColName="reltoastrelid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="20" Attno="11" ColName="reltoastidxid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="21" Attno="12" ColName="relhasindex" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="22" Attno="13" ColName="relisshared" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="23" Attno="14" ColName="relistemp" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="24" Attno="15" ColName="relkind" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="25" Attno="16" ColName="relstorage" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="26" Attno="17" ColName="relnatts" TypeMdid="0.21.1.0" ColWidth="2"/>
+                <dxl:Column ColId="27" Attno="18" ColName="relchecks" TypeMdid="0.21.1.0" ColWidth="2"/>
+                <dxl:Column ColId="28" Attno="19" ColName="relhasoids" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="29" Attno="20" ColName="relhaspkey" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="30" Attno="21" ColName="relhasrules" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="31" Attno="22" ColName="relhastriggers" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="32" Attno="23" ColName="relhassubclass" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="33" Attno="24" ColName="relfrozenxid" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="34" Attno="25" ColName="relacl" TypeMdid="0.1034.1.0" ColWidth="37"/>
+                <dxl:Column ColId="35" Attno="26" ColName="reloptions" TypeMdid="0.1009.1.0" ColWidth="0"/>
+                <dxl:Column ColId="36" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                <dxl:Column ColId="37" Attno="-2" ColName="oid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="38" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="39" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="40" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="41" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="42" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="43" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              </dxl:Columns>
+            </dxl:TableDescriptor>
+          </dxl:LogicalGet>
+          <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.607.1.0">
+            <dxl:CoerceViaIO TypeMdid="0.26.1.0" CoercionForm="1" Location="65">
+              <dxl:Ident ColId="1" ColName="a" TypeMdid="0.1043.1.0"/>
+            </dxl:CoerceViaIO>
+            <dxl:Ident ColId="37" ColName="oid" TypeMdid="0.26.1.0"/>
+          </dxl:Comparison>
+        </dxl:LogicalJoin>
+        <dxl:LogicalJoin JoinType="Left">
+          <dxl:LogicalGet>
+            <dxl:TableDescriptor Mdid="6.2031673.1.0" TableName="bar">
+              <dxl:Columns>
+                <dxl:Column ColId="44" Attno="1" ColName="a" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                <dxl:Column ColId="45" Attno="2" ColName="b" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                <dxl:Column ColId="46" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                <dxl:Column ColId="47" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="48" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="49" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="50" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="51" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="52" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              </dxl:Columns>
+            </dxl:TableDescriptor>
+          </dxl:LogicalGet>
+          <dxl:LogicalGet>
+            <dxl:TableDescriptor Mdid="6.1247.1.0" TableName="pg_type">
+              <dxl:Columns>
+                <dxl:Column ColId="53" Attno="1" ColName="typname" TypeMdid="0.19.1.0" ColWidth="64"/>
+                <dxl:Column ColId="54" Attno="2" ColName="typnamespace" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="55" Attno="3" ColName="typowner" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="56" Attno="4" ColName="typlen" TypeMdid="0.21.1.0" ColWidth="2"/>
+                <dxl:Column ColId="57" Attno="5" ColName="typbyval" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="58" Attno="6" ColName="typtype" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="59" Attno="7" ColName="typcategory" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="60" Attno="8" ColName="typispreferred" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="61" Attno="9" ColName="typisdefined" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="62" Attno="10" ColName="typdelim" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="63" Attno="11" ColName="typrelid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="64" Attno="12" ColName="typelem" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="65" Attno="13" ColName="typarray" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="66" Attno="14" ColName="typinput" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="67" Attno="15" ColName="typoutput" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="68" Attno="16" ColName="typreceive" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="69" Attno="17" ColName="typsend" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="70" Attno="18" ColName="typmodin" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="71" Attno="19" ColName="typmodout" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="72" Attno="20" ColName="typanalyze" TypeMdid="0.24.1.0" ColWidth="4"/>
+                <dxl:Column ColId="73" Attno="21" ColName="typalign" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="74" Attno="22" ColName="typstorage" TypeMdid="0.18.1.0" ColWidth="1"/>
+                <dxl:Column ColId="75" Attno="23" ColName="typnotnull" TypeMdid="0.16.1.0" ColWidth="1"/>
+                <dxl:Column ColId="76" Attno="24" ColName="typbasetype" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="77" Attno="25" ColName="typtypmod" TypeMdid="0.23.1.0" ColWidth="4"/>
+                <dxl:Column ColId="78" Attno="26" ColName="typndims" TypeMdid="0.23.1.0" ColWidth="4"/>
+                <dxl:Column ColId="79" Attno="27" ColName="typdefaultbin" TypeMdid="0.25.1.0" ColWidth="480"/>
+                <dxl:Column ColId="80" Attno="28" ColName="typdefault" TypeMdid="0.25.1.0" ColWidth="43"/>
+                <dxl:Column ColId="81" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                <dxl:Column ColId="82" Attno="-2" ColName="oid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="83" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="84" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="85" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="86" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="87" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="88" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              </dxl:Columns>
+            </dxl:TableDescriptor>
+          </dxl:LogicalGet>
+          <dxl:Comparison ComparisonOperator="&lt;" OperatorMdid="0.609.1.0">
+            <dxl:CoerceViaIO TypeMdid="0.26.1.0" CoercionForm="1" Location="155">
+              <dxl:Ident ColId="45" ColName="b" TypeMdid="0.1043.1.0"/>
+            </dxl:CoerceViaIO>
+            <dxl:Ident ColId="82" ColName="oid" TypeMdid="0.26.1.0"/>
+          </dxl:Comparison>
+        </dxl:LogicalJoin>
+      </dxl:UnionAll>
+    </dxl:Query>
+    <dxl:Plan Id="0" SpaceSize="4">
+      <dxl:Append IsTarget="false" IsZapped="false">
+        <dxl:Properties>
+          <dxl:Cost StartupCost="0" TotalCost="874.433340" Rows="1.000000" Width="20"/>
+        </dxl:Properties>
+        <dxl:ProjList>
+          <dxl:ProjElem ColId="0" Alias="a">
+            <dxl:Ident ColId="0" ColName="a" TypeMdid="0.1043.1.0"/>
+          </dxl:ProjElem>
+          <dxl:ProjElem ColId="1" Alias="b">
+            <dxl:Ident ColId="1" ColName="b" TypeMdid="0.1043.1.0"/>
+          </dxl:ProjElem>
+          <dxl:ProjElem ColId="13" Alias="relam">
+            <dxl:Ident ColId="13" ColName="relam" TypeMdid="0.26.1.0"/>
+          </dxl:ProjElem>
+        </dxl:ProjList>
+        <dxl:Filter/>
+        <dxl:NestedLoopJoin JoinType="Left" IndexNestedLoopJoin="true">
+          <dxl:Properties>
+            <dxl:Cost StartupCost="0" TotalCost="437.001263" Rows="2.000000" Width="20"/>
+          </dxl:Properties>
+          <dxl:ProjList>
+            <dxl:ProjElem ColId="0" Alias="a">
+              <dxl:Ident ColId="0" ColName="a" TypeMdid="0.1043.1.0"/>
+            </dxl:ProjElem>
+            <dxl:ProjElem ColId="1" Alias="b">
+              <dxl:Ident ColId="1" ColName="b" TypeMdid="0.1043.1.0"/>
+            </dxl:ProjElem>
+            <dxl:ProjElem ColId="13" Alias="relam">
+              <dxl:Ident ColId="13" ColName="relam" TypeMdid="0.26.1.0"/>
+            </dxl:ProjElem>
+          </dxl:ProjList>
+          <dxl:Filter/>
+          <dxl:JoinFilter>
+            <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
+          </dxl:JoinFilter>
+          <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1">
+            <dxl:Properties>
+              <dxl:Cost StartupCost="0" TotalCost="431.000234" Rows="1.000000" Width="16"/>
+            </dxl:Properties>
+            <dxl:ProjList>
+              <dxl:ProjElem ColId="0" Alias="a">
+                <dxl:Ident ColId="0" ColName="a" TypeMdid="0.1043.1.0"/>
+              </dxl:ProjElem>
+              <dxl:ProjElem ColId="1" Alias="b">
+                <dxl:Ident ColId="1" ColName="b" TypeMdid="0.1043.1.0"/>
+              </dxl:ProjElem>
+            </dxl:ProjList>
+            <dxl:Filter/>
+            <dxl:SortingColumnList/>
+            <dxl:TableScan>
+              <dxl:Properties>
+                <dxl:Cost StartupCost="0" TotalCost="431.000025" Rows="1.000000" Width="16"/>
+              </dxl:Properties>
+              <dxl:ProjList>
+                <dxl:ProjElem ColId="0" Alias="a">
+                  <dxl:Ident ColId="0" ColName="a" TypeMdid="0.1043.1.0"/>
+                </dxl:ProjElem>
+                <dxl:ProjElem ColId="1" Alias="b">
+                  <dxl:Ident ColId="1" ColName="b" TypeMdid="0.1043.1.0"/>
+                </dxl:ProjElem>
+              </dxl:ProjList>
+              <dxl:Filter/>
+              <dxl:TableDescriptor Mdid="6.2031667.1.0" TableName="foo">
+                <dxl:Columns>
+                  <dxl:Column ColId="0" Attno="1" ColName="a" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                  <dxl:Column ColId="1" Attno="2" ColName="b" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                  <dxl:Column ColId="2" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                  <dxl:Column ColId="3" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="4" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="5" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="6" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="7" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="8" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+                </dxl:Columns>
+              </dxl:TableDescriptor>
+            </dxl:TableScan>
+          </dxl:GatherMotion>
+          <dxl:IndexScan IndexScanDirection="Forward">
+            <dxl:Properties>
+              <dxl:Cost StartupCost="0" TotalCost="6.000871" Rows="1.000000" Width="4"/>
+            </dxl:Properties>
+            <dxl:ProjList>
+              <dxl:ProjElem ColId="13" Alias="relam">
+                <dxl:Ident ColId="13" ColName="relam" TypeMdid="0.26.1.0"/>
+              </dxl:ProjElem>
+            </dxl:ProjList>
+            <dxl:Filter/>
+            <dxl:IndexCondList>
+              <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.607.1.0">
+                <dxl:Ident ColId="36" ColName="oid" TypeMdid="0.26.1.0"/>
+                <dxl:CoerceViaIO TypeMdid="0.26.1.0" CoercionForm="1" Location="65">
+                  <dxl:Ident ColId="0" ColName="a" TypeMdid="0.1043.1.0"/>
+                </dxl:CoerceViaIO>
+              </dxl:Comparison>
+            </dxl:IndexCondList>
+	<dxl:Partitions/>
+            <dxl:IndexDescriptor Mdid="0.2662.1.0" IndexName="pg_class_oid_index"/>
+            <dxl:TableDescriptor Mdid="6.1259.1.0" TableName="pg_class">
+              <dxl:Columns>
+                <dxl:Column ColId="13" Attno="5" ColName="relam" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="35" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                <dxl:Column ColId="36" Attno="-2" ColName="oid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="37" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="38" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="39" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="40" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="41" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="42" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              </dxl:Columns>
+            </dxl:TableDescriptor>
+          </dxl:IndexScan>
+        </dxl:NestedLoopJoin>
+        <dxl:NestedLoopJoin JoinType="Left" IndexNestedLoopJoin="true">
+          <dxl:Properties>
+            <dxl:Cost StartupCost="0" TotalCost="437.432057" Rows="1.000000" Width="20"/>
+          </dxl:Properties>
+          <dxl:ProjList>
+            <dxl:ProjElem ColId="43" Alias="a">
+              <dxl:Ident ColId="43" ColName="a" TypeMdid="0.1043.1.0"/>
+            </dxl:ProjElem>
+            <dxl:ProjElem ColId="44" Alias="b">
+              <dxl:Ident ColId="44" ColName="b" TypeMdid="0.1043.1.0"/>
+            </dxl:ProjElem>
+            <dxl:ProjElem ColId="63" Alias="typelem">
+              <dxl:Ident ColId="63" ColName="typelem" TypeMdid="0.26.1.0"/>
+            </dxl:ProjElem>
+          </dxl:ProjList>
+          <dxl:Filter/>
+          <dxl:JoinFilter>
+            <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
+          </dxl:JoinFilter>
+          <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1">
+            <dxl:Properties>
+              <dxl:Cost StartupCost="0" TotalCost="431.000234" Rows="1.000000" Width="16"/>
+            </dxl:Properties>
+            <dxl:ProjList>
+              <dxl:ProjElem ColId="43" Alias="a">
+                <dxl:Ident ColId="43" ColName="a" TypeMdid="0.1043.1.0"/>
+              </dxl:ProjElem>
+              <dxl:ProjElem ColId="44" Alias="b">
+                <dxl:Ident ColId="44" ColName="b" TypeMdid="0.1043.1.0"/>
+              </dxl:ProjElem>
+            </dxl:ProjList>
+            <dxl:Filter/>
+            <dxl:SortingColumnList/>
+            <dxl:TableScan>
+              <dxl:Properties>
+                <dxl:Cost StartupCost="0" TotalCost="431.000025" Rows="1.000000" Width="16"/>
+              </dxl:Properties>
+              <dxl:ProjList>
+                <dxl:ProjElem ColId="43" Alias="a">
+                  <dxl:Ident ColId="43" ColName="a" TypeMdid="0.1043.1.0"/>
+                </dxl:ProjElem>
+                <dxl:ProjElem ColId="44" Alias="b">
+                  <dxl:Ident ColId="44" ColName="b" TypeMdid="0.1043.1.0"/>
+                </dxl:ProjElem>
+              </dxl:ProjList>
+              <dxl:Filter/>
+              <dxl:TableDescriptor Mdid="6.2031673.1.0" TableName="bar">
+                <dxl:Columns>
+                  <dxl:Column ColId="43" Attno="1" ColName="a" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                  <dxl:Column ColId="44" Attno="2" ColName="b" TypeMdid="0.1043.1.0" ColWidth="8"/>
+                  <dxl:Column ColId="45" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                  <dxl:Column ColId="46" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="47" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="48" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="49" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="50" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                  <dxl:Column ColId="51" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+                </dxl:Columns>
+              </dxl:TableDescriptor>
+            </dxl:TableScan>
+          </dxl:GatherMotion>
+          <dxl:IndexScan IndexScanDirection="Forward">
+            <dxl:Properties>
+              <dxl:Cost StartupCost="0" TotalCost="6.430556" Rows="159.600000" Width="4"/>
+            </dxl:Properties>
+            <dxl:ProjList>
+              <dxl:ProjElem ColId="63" Alias="typelem">
+                <dxl:Ident ColId="63" ColName="typelem" TypeMdid="0.26.1.0"/>
+              </dxl:ProjElem>
+            </dxl:ProjList>
+            <dxl:Filter/>
+            <dxl:IndexCondList>
+              <dxl:Comparison ComparisonOperator="&gt;" OperatorMdid="0.610.1.0">
+                <dxl:Ident ColId="81" ColName="oid" TypeMdid="0.26.1.0"/>
+                <dxl:CoerceViaIO TypeMdid="0.26.1.0" CoercionForm="1" Location="155">
+                  <dxl:Ident ColId="44" ColName="b" TypeMdid="0.1043.1.0"/>
+                </dxl:CoerceViaIO>
+              </dxl:Comparison>
+            </dxl:IndexCondList>
+	<dxl:Partitions/>
+            <dxl:IndexDescriptor Mdid="0.2703.1.0" IndexName="pg_type_oid_index"/>
+            <dxl:TableDescriptor Mdid="6.1247.1.0" TableName="pg_type">
+              <dxl:Columns>
+                <dxl:Column ColId="63" Attno="12" ColName="typelem" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="80" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
+                <dxl:Column ColId="81" Attno="-2" ColName="oid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="82" Attno="-3" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="83" Attno="-4" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="84" Attno="-5" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
+                <dxl:Column ColId="85" Attno="-6" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
+                <dxl:Column ColId="86" Attno="-7" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
+                <dxl:Column ColId="87" Attno="-8" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
+              </dxl:Columns>
+            </dxl:TableDescriptor>
+          </dxl:IndexScan>
+        </dxl:NestedLoopJoin>
+      </dxl:Append>
+    </dxl:Plan>
+  </dxl:Thread>
+</dxl:DXLMessage>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-DistKey-Multiple-Predicates.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-DistKey-Multiple-Predicates.mdp
index 54138cc873..ffc87327ec 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-DistKey-Multiple-Predicates.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-DistKey-Multiple-Predicates.mdp
@@ -165,7 +165,7 @@ explain select * from foo left join bar on bar.a=foo.a and bar.a<foo.b left oute
           <dxl:DistrOpfamily Mdid="0.1995.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.49175.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.49175.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -252,12 +252,12 @@ explain select * from foo left join bar on bar.a=foo.a and bar.a<foo.b left oute
           <dxl:Opfamily Mdid="0.10018.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.49181.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.49181.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49180.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.49180.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -342,7 +342,7 @@ explain select * from foo left join bar on bar.a=foo.a and bar.a<foo.b left oute
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.49176.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.49176.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey-NoExtraFilter.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey-NoExtraFilter.mdp
index 75ec2166c2..f46d6ad417 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey-NoExtraFilter.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey-NoExtraFilter.mdp
@@ -97,7 +97,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.93456.1.0" Name="idx_bar_de" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.93456.1.0" Name="idx_bar_de" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey.mdp
index 6e2f40bd84..68c15ff20a 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKey-MultiIndexKey.mdp
@@ -98,7 +98,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.93456.1.0" Name="idx_bar_de" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.93456.1.0" Name="idx_bar_de" IsClustered="false" IndexType="B-tree" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp
index d5ff29c6de..e166331f7b 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap-WithComplexPreds.mdp
@@ -54,7 +54,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap.mdp
index e2ccc70084..b7d6e428b6 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-Bitmap.mdp
@@ -52,7 +52,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.101654.1.0" Name="idx_bar_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-IndexKeys.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-IndexKeys.mdp
index bcf69925b8..dac786c912 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-IndexKeys.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-IndexKeys.mdp
@@ -341,43 +341,43 @@ explain select * from foo left join bar on foo.a=bar.a and foo.b=bar.b and foo.c
         </dxl:DistrOpfamilies>
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.49211.1.0.2" Name="c" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.49236.1.0" Name="bar_idx_c" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49236.1.0" Name="bar_idx_c" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49235.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49235.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49234.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49234.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49233.1.0" Name="bar_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49233.1.0" Name="bar_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49243.1.0" Name="zoo_idx_c" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49243.1.0" Name="zoo_idx_c" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49242.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49242.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49241.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49241.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.49240.1.0" Name="zoo_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.49240.1.0" Name="zoo_idx_ab" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-WithComplexPreds.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-WithComplexPreds.mdp
index 7ac4406860..ab834d91a1 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-WithComplexPreds.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiDistKeys-WithComplexPreds.mdp
@@ -69,7 +69,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16391.1.0" Name="bar_idx_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp
index 2ac77c0002..597008611b 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-MultiIndexes.mdp
@@ -107,7 +107,7 @@ set optimizer_enable_hashjoin = off;
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
       <dxl:RelationStatistics Mdid="2.32791.1.0" Name="foo" Rows="0.000000" EmptyRelation="true"/>
-      <dxl:Index Mdid="0.32790.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.32790.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -160,17 +160,17 @@ set optimizer_enable_hashjoin = off;
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.32785.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32785.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.32784.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32784.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.32786.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.32786.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-Negative-NonEqual-Predicate.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-Negative-NonEqual-Predicate.mdp
index b4d0618d41..8ca0950afe 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-Negative-NonEqual-Predicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-Negative-NonEqual-Predicate.mdp
@@ -233,7 +233,7 @@
           <dxl:Opfamily Mdid="0.12866.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.40990.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.40990.1.0" Name="zoo_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -286,12 +286,12 @@
           <dxl:Opfamily Mdid="0.12866.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.40985.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.40985.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.40984.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.40984.1.0" Name="bar_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -328,7 +328,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.40986.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.40986.1.0" Name="zoo_idx_a" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-NonDistKey.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-NonDistKey.mdp
index d831a7fe6e..900cca7e90 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-NonDistKey.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-NonDistKey.mdp
@@ -196,7 +196,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.65570.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.65570.1.0" Name="bar_idx_b" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-WithComplexPredicates.mdp b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-WithComplexPredicates.mdp
index 3cf3240249..d8792cf3d1 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-WithComplexPredicates.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ-IndexApply-WithComplexPredicates.mdp
@@ -51,7 +51,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.32790.1.0" Name="idx_bar_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.32790.1.0" Name="idx_bar_d" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_and_predicate.mdp b/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_and_predicate.mdp
index cf3bd67330..25a5f58b29 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_and_predicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_and_predicate.mdp
@@ -278,7 +278,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.63865.1.0" Name="jazz_ix" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.63865.1.0" Name="jazz_ix" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_or_predicate.mdp b/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_or_predicate.mdp
index 26c59d4c8c..06113abfa5 100644
--- a/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_or_predicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LOJ_convert_to_inner_with_or_predicate.mdp
@@ -280,7 +280,7 @@
         <dxl:IndexInfoList/>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.63865.1.0" Name="jazz_ix" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.63865.1.0" Name="jazz_ix" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LeftJoin-With-Col-Const-Pred.mdp b/src/backend/gporca/data/dxl/minidump/LeftJoin-With-Col-Const-Pred.mdp
index 84c26696eb..b0c3fc9013 100644
--- a/src/backend/gporca/data/dxl/minidump/LeftJoin-With-Col-Const-Pred.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LeftJoin-With-Col-Const-Pred.mdp
@@ -981,17 +981,17 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.26.1.0" Value="1664"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.2676.1.0" Name="pg_authid_rolname_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.2676.1.0" Name="pg_authid_rolname_index" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2677.1.0" Name="pg_authid_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="18" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.2677.1.0" Name="pg_authid_oid_index" IsClustered="false" IndexType="B-tree" KeyColumns="18" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.6029.1.0" Name="pg_authid_rolresqueue_index" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.6029.1.0" Name="pg_authid_rolresqueue_index" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LeftJoinPruning.mdp b/src/backend/gporca/data/dxl/minidump/LeftJoinPruning.mdp
index 80d84cce71..a526245d05 100644
--- a/src/backend/gporca/data/dxl/minidump/LeftJoinPruning.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LeftJoinPruning.mdp
@@ -269,14 +269,14 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.16390.1.0" Name="idx2" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="7.16390.1.0" Name="idx2" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="7.16388.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="7.16388.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInOuterInnerQuery.mdp b/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInOuterInnerQuery.mdp
index 3f7192f7e5..165d86140e 100644
--- a/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInOuterInnerQuery.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInOuterInnerQuery.mdp
@@ -191,7 +191,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="7.16412.1.0" Name="idx3" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="7.16412.1.0" Name="idx3" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -239,7 +239,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.16402.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="7.16402.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInnerQuery.mdp b/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInnerQuery.mdp
index 7c902a335f..8e139dd192 100644
--- a/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInnerQuery.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LeftJoinPruningInnerQuery.mdp
@@ -88,7 +88,7 @@
         </dxl:DistrOpfamilies>
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.16419.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="7.16436.1.0" Name="t1joinpruning_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="7.16436.1.0" Name="t1joinpruning_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -165,7 +165,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.16424.1.0" Name="idx2" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="7.16424.1.0" Name="idx2" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -312,7 +312,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="7.16422.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13">
+      <dxl:Index Mdid="7.16422.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/LeftJoinPruningOuterQuery.mdp b/src/backend/gporca/data/dxl/minidump/LeftJoinPruningOuterQuery.mdp
index 906e8e5225..bc4a7207dc 100644
--- a/src/backend/gporca/data/dxl/minidump/LeftJoinPruningOuterQuery.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LeftJoinPruningOuterQuery.mdp
@@ -42,7 +42,7 @@
       <dxl:TraceFlags Value="101013,102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,106000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="7.16446.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="7.16446.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -337,7 +337,7 @@
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="7.16451.1.0" Name="idx2" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="7.16451.1.0" Name="idx2" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/LogicalIndexGetDroppedCols.mdp b/src/backend/gporca/data/dxl/minidump/LogicalIndexGetDroppedCols.mdp
index c416f95b11..1d3f726cb6 100644
--- a/src/backend/gporca/data/dxl/minidump/LogicalIndexGetDroppedCols.mdp
+++ b/src/backend/gporca/data/dxl/minidump/LogicalIndexGetDroppedCols.mdp
@@ -1182,7 +1182,7 @@ EXPLAIN SELECT * FROM solo WHERE year_id=2017 AND month_id=6;
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.30058.1.0" Name="solo_idx" IsClustered="false" IndexType="B-tree" KeyColumns="1,2,7,17,22,29" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,21,22,28,29,30,31,32,33,34,35,36">
+      <dxl:Index Mdid="0.30058.1.0" Name="solo_idx" IsClustered="false" IndexType="B-tree" KeyColumns="1,2,7,17,22,29" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/MultipleIndexPredicate.mdp b/src/backend/gporca/data/dxl/minidump/MultipleIndexPredicate.mdp
index a5b91af8ec..ba9a7635fe 100644
--- a/src/backend/gporca/data/dxl/minidump/MultipleIndexPredicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/MultipleIndexPredicate.mdp
@@ -79,7 +79,7 @@
       <dxl:TraceFlags Value="103027,102074,102146,102120,103001,103014,103015,103022,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.74761.1.0" Name="idx_foo_new_fn" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54">
+      <dxl:Index Mdid="0.74761.1.0" Name="idx_foo_new_fn" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -193,7 +193,7 @@
         <dxl:SumAgg Mdid="0.2107.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.74775.1.0" Name="idx_foo_new_pcd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,0,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54">
+      <dxl:Index Mdid="0.74775.1.0" Name="idx_foo_new_pcd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,0,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
@@ -261,7 +261,7 @@
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
       <dxl:ColumnStatistics Mdid="1.74486.1.0.19" Name="bs" Width="3.000000" NullFreq="0.000000" NdvRemain="18.000000" FreqRemain="1.000000" ColStatsMissing="false"/>
-      <dxl:Index Mdid="0.74789.1.0" Name="idx_foo_new_pl" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54">
+      <dxl:Index Mdid="0.74789.1.0" Name="idx_foo_new_pl" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
         </dxl:Opfamilies>
@@ -911,7 +911,7 @@
           <dxl:Opfamily Mdid="0.3035.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.74730.1.0" Name="idx_foo_dd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="5,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54">
+      <dxl:Index Mdid="0.74730.1.0" Name="idx_foo_dd" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="5,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
@@ -1110,7 +1110,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.74747.1.0" Name="idx_foo_ad" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="9,4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54">
+      <dxl:Index Mdid="0.74747.1.0" Name="idx_foo_ad" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="9,4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.434.1.0"/>
           <dxl:Opfamily Mdid="0.1994.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/Negative-IndexApply1.mdp b/src/backend/gporca/data/dxl/minidump/Negative-IndexApply1.mdp
index b6099d48ce..4694843205 100644
--- a/src/backend/gporca/data/dxl/minidump/Negative-IndexApply1.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Negative-IndexApply1.mdp
@@ -24,7 +24,7 @@ select * from z,tt where tt.i=5 and z.i=6 ;
       <dxl:TraceFlags Value="102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,104002,104003,104004,104005,105000,106000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.16387.1.0" Name="idx_tt_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16387.1.0" Name="idx_tt_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -68,7 +68,7 @@ select * from z,tt where tt.i=5 and z.i=6 ;
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16391.1.0" Name="idx_z_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.16391.1.0" Name="idx_z_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Negative-IndexApply2.mdp b/src/backend/gporca/data/dxl/minidump/Negative-IndexApply2.mdp
index 029c1fb5af..1ff4644083 100644
--- a/src/backend/gporca/data/dxl/minidump/Negative-IndexApply2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Negative-IndexApply2.mdp
@@ -214,7 +214,7 @@ select * from z_p,tt_p where tt_p.i=5 and z_p.i=6;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16401.1.0" Name="idx_tt_p_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.16401.1.0" Name="idx_tt_p_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -464,7 +464,7 @@ select * from z_p,tt_p where tt_p.i=5 and z_p.i=6;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16413.1.0" Name="idx_z_p_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.16413.1.0" Name="idx_z_p_i" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Nested-Setops-2.mdp b/src/backend/gporca/data/dxl/minidump/Nested-Setops-2.mdp
index de75b6dc62..5a44a77488 100644
--- a/src/backend/gporca/data/dxl/minidump/Nested-Setops-2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Nested-Setops-2.mdp
@@ -193,7 +193,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1637480.1.0" Name="index_1637480" IsClustered="false" KeyColumns="1" IncludedColumns="1">
+      <dxl:Index Mdid="0.1637480.1.0" Name="index_1637480" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/NestedNLJWithBlockingSpool.mdp b/src/backend/gporca/data/dxl/minidump/NestedNLJWithBlockingSpool.mdp
index 8e861de3af..7660eab6f5 100644
--- a/src/backend/gporca/data/dxl/minidump/NestedNLJWithBlockingSpool.mdp
+++ b/src/backend/gporca/data/dxl/minidump/NestedNLJWithBlockingSpool.mdp
@@ -119,7 +119,7 @@
       </dxl:Relation>
       <dxl:ColumnStatistics Mdid="1.98421.1.0.1" Name="l_partkey" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.98421.1.0.0" Name="l_orderkey" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.98440.1.0" Name="lineitem_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22">
+      <dxl:Index Mdid="0.98440.1.0" Name="lineitem_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -153,7 +153,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.98326.1.0" Name="part_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15">
+      <dxl:Index Mdid="0.98326.1.0" Name="part_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/NewBtreeIndexScanCost.mdp b/src/backend/gporca/data/dxl/minidump/NewBtreeIndexScanCost.mdp
index 63f1e5248f..340c149f35 100644
--- a/src/backend/gporca/data/dxl/minidump/NewBtreeIndexScanCost.mdp
+++ b/src/backend/gporca/data/dxl/minidump/NewBtreeIndexScanCost.mdp
@@ -1863,7 +1863,7 @@ explain select *  from oip oip  join ria a on ip=cidr and oip.oid=194073;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.48922.1.0" Name="ssm_oip_cidr" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15">
+      <dxl:Index Mdid="0.48922.1.0" Name="ssm_oip_cidr" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1974.1.0"/>
         </dxl:Opfamilies>
@@ -1894,7 +1894,7 @@ explain select *  from oip oip  join ria a on ip=cidr and oip.oid=194073;
           <dxl:Opfamily Mdid="0.3025.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.48950.1.0" Name="ssm_ria_ip_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20">
+      <dxl:Index Mdid="0.48950.1.0" Name="ssm_ria_ip_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1974.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/NoSortPlan.mdp b/src/backend/gporca/data/dxl/minidump/NoSortPlan.mdp
index d873480d2e..083e882119 100644
--- a/src/backend/gporca/data/dxl/minidump/NoSortPlan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/NoSortPlan.mdp
@@ -138,7 +138,7 @@
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.3373430.1.0" Name="idx_yj" IsClustered="false" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.3373430.1.0" Name="idx_yj" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp
index ddd9673389..d09e549d87 100644
--- a/src/backend/gporca/data/dxl/minidump/NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/NonOverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp
@@ -162,7 +162,7 @@
       <dxl:ColumnStatistics Mdid="1.1237618.1.0.8" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237618.1.0.1" Name="b" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237618.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.1237673.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.1237673.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
@@ -170,7 +170,7 @@
       </dxl:Index>
       <dxl:ColumnStatistics Mdid="1.1237618.1.0.7" Name="xmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237618.1.0.6" Name="ctid" Width="6.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.1237715.1.0" Name="complete_idx_ef_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="4,5" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.1237715.1.0" Name="complete_idx_ef_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="4,5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp
index 12fdc5f122..ab98e74110 100644
--- a/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-ANDPredicate-HEAP.mdp
@@ -156,7 +156,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1237555.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.1237555.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -166,7 +166,7 @@
       <dxl:ColumnStatistics Mdid="1.1237500.1.0.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237500.1.0.3" Name="d" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237500.1.0.2" Name="c" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.1237597.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.1237597.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-HEAP.mdp
index c2460a4462..754e4153ad 100644
--- a/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/OverlappingHomogenousIndexesOnRoot-HEAP.mdp
@@ -156,7 +156,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.1237555.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.1237555.1.0" Name="complete_idx_c_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
@@ -166,7 +166,7 @@
       <dxl:ColumnStatistics Mdid="1.1237500.1.0.10" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237500.1.0.2" Name="c" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237500.1.0.3" Name="d" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.1237597.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.1237597.1.0" Name="complete_idx_cd_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenDefaultPartsAndIndices.mdp b/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenDefaultPartsAndIndices.mdp
index 0cb3eab70b..0b5269ab31 100644
--- a/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenDefaultPartsAndIndices.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenDefaultPartsAndIndices.mdp
@@ -1721,7 +1721,7 @@ EXPLAIN SELECT * FROM date_parts WHERE month BETWEEN 1 AND 4;
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="3650"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.3749921.1.0" Name="date_parts_ind_1_prt_outlying_years_2_prt_q1_3_prt_other_days" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.3749921.1.0" Name="date_parts_ind_1_prt_outlying_years_2_prt_q1_3_prt_other_days" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenIndicesAndNoDefaultParts.mdp b/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenIndicesAndNoDefaultParts.mdp
index e7896e0ed3..6289474301 100644
--- a/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenIndicesAndNoDefaultParts.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PartConstraint-WhenIndicesAndNoDefaultParts.mdp
@@ -1150,7 +1150,7 @@ EXPLAIN SELECT * FROM date_parts WHERE year BETWEEN 2002 AND 2003;
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.3748065.1.0" Name="date_parts_ind_1_prt_1_2_prt_q1_3_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.3748065.1.0" Name="date_parts_ind_1_prt_1_2_prt_q1_3_prt_1" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PartTbl-ComplexRangePredicate-DefaultPart.mdp b/src/backend/gporca/data/dxl/minidump/PartTbl-ComplexRangePredicate-DefaultPart.mdp
index bd0b9e48d8..311353c296 100644
--- a/src/backend/gporca/data/dxl/minidump/PartTbl-ComplexRangePredicate-DefaultPart.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PartTbl-ComplexRangePredicate-DefaultPart.mdp
@@ -74,7 +74,7 @@
       <dxl:GPDBFunc Mdid="0.6086.1.0" Name="gp_partition_inverse" ReturnsSet="true" Stability="Volatile" IsStrict="true">
         <dxl:ResultType Mdid="0.2249.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.310609.1.0" Name="p_1_prt_3_ab" IsClustered="false" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.310609.1.0" Name="p_1_prt_3_ab" IsClustered="false" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -84,7 +84,7 @@
           <dxl:Partition Mdid="6.310609003.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.327405.1.0" Name="p_1_prt_extra_a_key" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.327405.1.0" Name="p_1_prt_extra_a_key" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PartTbl-IndexOnDefPartOnly.mdp b/src/backend/gporca/data/dxl/minidump/PartTbl-IndexOnDefPartOnly.mdp
index de1a16ba1d..91663fc611 100644
--- a/src/backend/gporca/data/dxl/minidump/PartTbl-IndexOnDefPartOnly.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PartTbl-IndexOnDefPartOnly.mdp
@@ -1129,7 +1129,7 @@ SELECT * FROM pt_lt_tab WHERE col2 = 15 ORDER BY col2,col3 LIMIT 5;
         <dxl:SumAgg Mdid="0.2114.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.8685870.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.8685870.1.0" Name="idx1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1988.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp b/src/backend/gporca/data/dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp
index e9542d53e0..c731095ad2 100644
--- a/src/backend/gporca/data/dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PartTbl-MultiWayJoinWithDPE.mdp
@@ -1046,7 +1046,7 @@
       <dxl:ColumnStatistics Mdid="1.810130.1.1.4" Name="hd_vehicle_count" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.810176.1.1.5" Name="xmin" Width="4.000000"/>
       <dxl:ColumnStatistics Mdid="1.810176.1.1.4" Name="ctid" Width="6.000000"/>
-      <dxl:Index Mdid="0.812178.1.0" Name="date_dim_1_prt_p1_1_pkey" IsClustered="false" KeyColumns="0,6" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.812178.1.0" Name="date_dim_1_prt_p1_1_pkey" IsClustered="false" KeyColumns="0,6" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
@@ -1378,7 +1378,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="7200"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.818378.1.0" Name="household_demographics_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.818378.1.0" Name="household_demographics_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PartTbl-NEqPredicate.mdp b/src/backend/gporca/data/dxl/minidump/PartTbl-NEqPredicate.mdp
index 680ef77cff..b274365605 100644
--- a/src/backend/gporca/data/dxl/minidump/PartTbl-NEqPredicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PartTbl-NEqPredicate.mdp
@@ -242,7 +242,7 @@
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.310609.1.0" Name="p_1_prt_3_ab" IsClustered="false" IsPartial="true" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.310609.1.0" Name="p_1_prt_3_ab" IsClustered="false" IsPartial="true" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -255,7 +255,7 @@
           <dxl:Partition Mdid="6.310609002.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.327405.1.0" Name="p_1_prt_extra_a_key" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.327405.1.0" Name="p_1_prt_extra_a_key" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsAndDisjuncts.mdp b/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsAndDisjuncts.mdp
index 968e2d3e6f..3570f1f9a7 100644
--- a/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsAndDisjuncts.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsAndDisjuncts.mdp
@@ -40,7 +40,7 @@
       <dxl:TraceFlags Value="102001,102002,102003,102024,102025,102074,102119,102120,102128,102131,102132,102133,102134,102135,102136,102140,102141,102142,102143,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.16523.1.0" Name="t1_g_h" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="6,7" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16523.1.0" Name="t1_g_h" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="6,7" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
@@ -940,7 +940,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16540.1.0" Name="t1_b_c_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16540.1.0" Name="t1_b_c_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
@@ -2222,7 +2222,7 @@
         </dxl:IndexInfoList>
         <dxl:CheckConstraints/>
       </dxl:Relation>
-      <dxl:Index Mdid="0.16506.1.0" Name="t1_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16506.1.0" Name="t1_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsOfDisjuncts.mdp b/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsOfDisjuncts.mdp
index bc96eac272..f0eaad384b 100644
--- a/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsOfDisjuncts.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PredicateWithConjunctsOfDisjuncts.mdp
@@ -106,7 +106,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16662.1.0" Name="t1_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16662.1.0" Name="t1_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
@@ -588,7 +588,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16679.1.0" Name="t1_b_c_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16679.1.0" Name="t1_b_c_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
@@ -997,7 +997,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="9999"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.16696.1.0" Name="t1_g_h" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="6,7" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16696.1.0" Name="t1_g_h" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="6,7" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/PredicateWithLongConjunction.mdp b/src/backend/gporca/data/dxl/minidump/PredicateWithLongConjunction.mdp
index 48283d4ad7..a9ce9ea8b5 100644
--- a/src/backend/gporca/data/dxl/minidump/PredicateWithLongConjunction.mdp
+++ b/src/backend/gporca/data/dxl/minidump/PredicateWithLongConjunction.mdp
@@ -35,7 +35,7 @@
       <dxl:TraceFlags Value="102001,102002,102003,102024,102025,102074,102119,102120,102128,102131,102132,102133,102134,102135,102136,102140,102141,102142,102143,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.16783.1.0" Name="t1_b_c_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2,3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16783.1.0" Name="t1_b_c_d" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1,2,3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
@@ -936,7 +936,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.16800.1.0" Name="t1_g_h" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="6,7" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16800.1.0" Name="t1_g_h" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="6,7" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
@@ -3021,7 +3021,7 @@
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="9999"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.16766.1.0" Name="t1_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.16766.1.0" Name="t1_b" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.7027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/QueryMismatchedDistribution-DynamicIndexScan.mdp b/src/backend/gporca/data/dxl/minidump/QueryMismatchedDistribution-DynamicIndexScan.mdp
index 59e677a032..633d14127a 100644
--- a/src/backend/gporca/data/dxl/minidump/QueryMismatchedDistribution-DynamicIndexScan.mdp
+++ b/src/backend/gporca/data/dxl/minidump/QueryMismatchedDistribution-DynamicIndexScan.mdp
@@ -771,7 +771,7 @@ explain select i, count(j) from pt2  where k=5 group by i;
       <dxl:GPDBFunc Mdid="0.6084.1.0" Name="gp_partition_selection" ReturnsSet="false" Stability="Stable" IsStrict="true">
         <dxl:ResultType Mdid="0.26.1.0"/>
       </dxl:GPDBFunc>
-      <dxl:Index Mdid="0.1695490.1.0" Name="pt2_idx_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.1695490.1.0" Name="pt2_idx_1_prt_1" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Select-Proj-OuterJoin.mdp b/src/backend/gporca/data/dxl/minidump/Select-Proj-OuterJoin.mdp
index 14ad4ca4bc..f852bce6d8 100644
--- a/src/backend/gporca/data/dxl/minidump/Select-Proj-OuterJoin.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Select-Proj-OuterJoin.mdp
@@ -329,12 +329,12 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2690.1.0" Name="pg_proc_oid_index" IsClustered="false" KeyColumns="24" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30">
+      <dxl:Index Mdid="0.2690.1.0" Name="pg_proc_oid_index" IsClustered="false" KeyColumns="24" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2684.1.0" Name="pg_namespace_nspname_index" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.2684.1.0" Name="pg_namespace_nspname_index" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
@@ -507,14 +507,14 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2691.1.0" Name="pg_proc_proname_args_nsp_index" IsClustered="false" KeyColumns="0,12,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30">
+      <dxl:Index Mdid="0.2691.1.0" Name="pg_proc_proname_args_nsp_index" IsClustered="false" KeyColumns="0,12,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
           <dxl:Opfamily Mdid="0.1991.1.0"/>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2685.1.0" Name="pg_namespace_oid_index" IsClustered="false" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.2685.1.0" Name="pg_namespace_oid_index" IsClustered="false" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1089.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/SelectOnCastedCol.mdp b/src/backend/gporca/data/dxl/minidump/SelectOnCastedCol.mdp
index fb1226eea6..e162871a5e 100644
--- a/src/backend/gporca/data/dxl/minidump/SelectOnCastedCol.mdp
+++ b/src/backend/gporca/data/dxl/minidump/SelectOnCastedCol.mdp
@@ -967,7 +967,7 @@
         <dxl:SumAgg Mdid="0.2108.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.17091.1.0" Name="customer_address_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19">
+      <dxl:Index Mdid="0.17091.1.0" Name="customer_address_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-AO.mdp b/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-AO.mdp
index ff477d7d78..125bc45846 100644
--- a/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-AO.mdp
+++ b/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-AO.mdp
@@ -282,7 +282,7 @@
       <dxl:ColumnStatistics Mdid="1.1237409.1.0.2" Name="c" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237409.1.0.5" Name="gp_segment_id" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.1237409.1.0.4" Name="tableoid" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.1237476.1.0" Name="complete_idx_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="0,1,2,3,4,5">
+      <dxl:Index Mdid="0.1237476.1.0" Name="complete_idx_1_prt_p2" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-HEAP.mdp b/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-HEAP.mdp
index e62fcf3fe2..541f6db820 100644
--- a/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-HEAP.mdp
+++ b/src/backend/gporca/data/dxl/minidump/SingleColumnHomogenousIndexOnRoot-HEAP.mdp
@@ -27,7 +27,7 @@
       <dxl:TraceFlags Value="102001,102002,102003,102120,102144,103001,103014,103015,103022,103027,103033,104003,104004,104005,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.1237378.1.0" Name="complete_idx_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9">
+      <dxl:Index Mdid="0.1237378.1.0" Name="complete_idx_1_prt_p2" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Stat-Derivation-Leaf-Pattern.mdp b/src/backend/gporca/data/dxl/minidump/Stat-Derivation-Leaf-Pattern.mdp
index 6598c77798..6967e4dc89 100644
--- a/src/backend/gporca/data/dxl/minidump/Stat-Derivation-Leaf-Pattern.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Stat-Derivation-Leaf-Pattern.mdp
@@ -95,7 +95,7 @@ AND
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.6029.1.0" Name="pg_authid_rolresqueue_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="11" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.6029.1.0" Name="pg_authid_rolresqueue_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="11" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
@@ -426,12 +426,12 @@ AND
           <dxl:Opfamily Mdid="0.3028.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.3307.1.0" Name="pg_foreign_data_wrapper_name_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.3307.1.0" Name="pg_foreign_data_wrapper_name_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.3306.1.0" Name="pg_foreign_data_wrapper_oid_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="6" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.3306.1.0" Name="pg_foreign_data_wrapper_oid_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="6" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
@@ -621,12 +621,12 @@ AND
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2677.1.0" Name="pg_authid_oid_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="18" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.2677.1.0" Name="pg_authid_oid_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="18" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2676.1.0" Name="pg_authid_rolname_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24">
+      <dxl:Index Mdid="0.2676.1.0" Name="pg_authid_rolname_index" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/SubqInIndexPred.mdp b/src/backend/gporca/data/dxl/minidump/SubqInIndexPred.mdp
index 73457ada13..ee35f47ddb 100644
--- a/src/backend/gporca/data/dxl/minidump/SubqInIndexPred.mdp
+++ b/src/backend/gporca/data/dxl/minidump/SubqInIndexPred.mdp
@@ -140,7 +140,7 @@ ON a = c
           <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
         </dxl:DistrOpfamilies>
       </dxl:Relation>
-      <dxl:Index Mdid="0.305420.1.0" Name="idx_abuela_aaa" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="0,1,2,3,4">
+      <dxl:Index Mdid="0.305420.1.0" Name="idx_abuela_aaa" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/TPCDS-39-InnerJoin-JoinEstimate.mdp b/src/backend/gporca/data/dxl/minidump/TPCDS-39-InnerJoin-JoinEstimate.mdp
index 978fcaff82..104f641d7e 100644
--- a/src/backend/gporca/data/dxl/minidump/TPCDS-39-InnerJoin-JoinEstimate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/TPCDS-39-InnerJoin-JoinEstimate.mdp
@@ -9,7 +9,7 @@
       <dxl:TraceFlags Value="101013,102001,102002,102003,102144,103001,103027,103033"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.32912.1.0" Name="date_dim_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.32912.1.0" Name="date_dim_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -67,7 +67,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.33600.1.0" Name="index_33600" IsClustered="false" KeyColumns="1" IncludedColumns="1">
+      <dxl:Index Mdid="0.33600.1.0" Name="index_33600" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Tpcds-10TB-Q37-NoIndexJoin.mdp b/src/backend/gporca/data/dxl/minidump/Tpcds-10TB-Q37-NoIndexJoin.mdp
index d2c2370e63..92deb4a2bb 100644
--- a/src/backend/gporca/data/dxl/minidump/Tpcds-10TB-Q37-NoIndexJoin.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Tpcds-10TB-Q37-NoIndexJoin.mdp
@@ -28,7 +28,7 @@ select  i_item_id
       <dxl:TraceFlags Value="103027,101013,102120,103001,103014,103015,103026"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.42129794.1.0" Name="item_idx03" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42129794.1.0" Name="item_idx03" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -4393,7 +4393,7 @@ select  i_item_id
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.42129547.1.0" Name="inventory_idx02_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.42129547.1.0" Name="inventory_idx02_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -4439,7 +4439,7 @@ select  i_item_id
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.42120598.1.0" Name="catalog_sales_idx02_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="3" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42120598.1.0" Name="catalog_sales_idx02_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="3" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -4488,12 +4488,12 @@ select  i_item_id
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.42129813.1.0" Name="item_idx04" IsClustered="false" IndexType="B-tree" KeyColumns="9" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42129813.1.0" Name="item_idx04" IsClustered="false" IndexType="B-tree" KeyColumns="9" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.42120465.1.0" Name="catalog_sales_idx01_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42120465.1.0" Name="catalog_sales_idx01_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -5971,7 +5971,7 @@ select  i_item_id
           <dxl:UpperBound Closed="true" TypeMdid="0.1700.1.0" Value="AAAADAAAAgBjAKwm" DoubleValue="99.990000"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.42112159.1.0" Name="date_dim_1_prt_p1_1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,6" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.42112159.1.0" Name="date_dim_1_prt_p1_1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,6" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -6021,7 +6021,7 @@ select  i_item_id
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.42125595.1.0" Name="date_dim_idx02_1_prt_p1_1" IsClustered="false" IndexType="B-tree" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.42125595.1.0" Name="date_dim_idx02_1_prt_p1_1" IsClustered="false" IndexType="B-tree" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -6070,7 +6070,7 @@ select  i_item_id
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.42120731.1.0" Name="catalog_sales_idx03_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="5" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42120731.1.0" Name="catalog_sales_idx03_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="5" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -6089,7 +6089,7 @@ select  i_item_id
           <dxl:Partition Mdid="6.42120731005.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.42129433.1.0" Name="inventory_idx01_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.42129433.1.0" Name="inventory_idx01_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -6108,7 +6108,7 @@ select  i_item_id
           <dxl:Partition Mdid="6.42129433005.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.42120997.1.0" Name="catalog_sales_idx05_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="15" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42120997.1.0" Name="catalog_sales_idx05_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="15" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -6139,7 +6139,7 @@ select  i_item_id
           <dxl:Opfamily Mdid="0.3018.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.42120864.1.0" Name="catalog_sales_idx04_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42120864.1.0" Name="catalog_sales_idx04_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="11" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -8165,7 +8165,7 @@ select  i_item_id
       </dxl:ColumnStatistics>
       <dxl:ColumnStatistics Mdid="1.42110028.1.1.7" Name="xmax" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
       <dxl:ColumnStatistics Mdid="1.42110028.1.1.6" Name="cmin" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
-      <dxl:Index Mdid="0.42121263.1.0" Name="catalog_sales_idx07_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="13" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42121263.1.0" Name="catalog_sales_idx07_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="13" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -8185,7 +8185,7 @@ select  i_item_id
         </dxl:Partitions>
       </dxl:Index>
       <dxl:RelationStatistics Mdid="2.42110250.1.1" Name="item" Rows="18000.000000" EmptyRelation="false"/>
-      <dxl:Index Mdid="0.42121130.1.0" Name="catalog_sales_idx06_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="17" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42121130.1.0" Name="catalog_sales_idx06_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="17" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1980.1.0"/>
         </dxl:Opfamilies>
@@ -8204,7 +8204,7 @@ select  i_item_id
           <dxl:Partition Mdid="6.42121130005.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.42129832.1.0" Name="item_idx05" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42129832.1.0" Name="item_idx05" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -8412,7 +8412,7 @@ select  i_item_id
         <dxl:CheckConstraints/>
       </dxl:Relation>
       <dxl:RelationStatistics Mdid="2.42101810.1.1" Name="catalog_sales" Rows="14745100288.000000" EmptyRelation="false"/>
-      <dxl:Index Mdid="0.42121396.1.0" Name="catalog_sales_idx08_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42121396.1.0" Name="catalog_sales_idx08_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -9353,7 +9353,7 @@ select  i_item_id
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.42118452.1.0" Name="inventory_1_prt_p1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.42118452.1.0" Name="inventory_1_prt_p1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.0.0.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -10296,7 +10296,7 @@ select  i_item_id
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.42121776.1.0" Name="date_dim_idx01_1_prt_p1_1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.42121776.1.0" Name="date_dim_idx01_1_prt_p1_1" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -12205,7 +12205,7 @@ select  i_item_id
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.42121529.1.0" Name="catalog_sales_idx09_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="14" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42121529.1.0" Name="catalog_sales_idx09_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="14" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -12224,7 +12224,7 @@ select  i_item_id
           <dxl:Partition Mdid="6.42121529005.1.0"/>
         </dxl:Partitions>
       </dxl:Index>
-      <dxl:Index Mdid="0.42129851.1.0" Name="item_idx06" IsClustered="false" IndexType="B-tree" KeyColumns="14" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42129851.1.0" Name="item_idx06" IsClustered="false" IndexType="B-tree" KeyColumns="14" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.426.1.0"/>
         </dxl:Opfamilies>
@@ -15751,7 +15751,7 @@ select  i_item_id
           </dxl:And>
         </dxl:PartConstraint>
       </dxl:Relation>
-      <dxl:Index Mdid="0.42118607.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42118607.1.0" Name="item_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -18838,7 +18838,7 @@ select  i_item_id
           <dxl:Opfamily Mdid="0.3032.1.0"/>
         </dxl:Opfamilies>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.42129756.1.0" Name="item_idx01" IsClustered="false" IndexType="B-tree" KeyColumns="7" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42129756.1.0" Name="item_idx01" IsClustered="false" IndexType="B-tree" KeyColumns="7" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -21339,12 +21339,12 @@ select  i_item_id
           <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="5"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.42129775.1.0" Name="item_idx02" IsClustered="false" IndexType="B-tree" KeyColumns="12" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28">
+      <dxl:Index Mdid="0.42129775.1.0" Name="item_idx02" IsClustered="false" IndexType="B-tree" KeyColumns="12" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.426.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.42111849.1.0" Name="catalog_sales_1_prt_p1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="15,17,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40">
+      <dxl:Index Mdid="0.42111849.1.0" Name="catalog_sales_1_prt_p1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="15,17,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.0.0.0"/>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
@@ -22721,7 +22721,7 @@ select  i_item_id
           <dxl:UpperBound Closed="true" TypeMdid="0.1082.1.0" Value="mQIAAA==" DoubleValue="57456000000000.000000"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.42129661.1.0" Name="inventory_idx03_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10">
+      <dxl:Index Mdid="0.42129661.1.0" Name="inventory_idx03_1_prt_p1" IsClustered="false" IndexType="B-tree" KeyColumns="2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/Tpcds-NonPart-Q70a.mdp b/src/backend/gporca/data/dxl/minidump/Tpcds-NonPart-Q70a.mdp
index ba08195910..35f7e108e3 100644
--- a/src/backend/gporca/data/dxl/minidump/Tpcds-NonPart-Q70a.mdp
+++ b/src/backend/gporca/data/dxl/minidump/Tpcds-NonPart-Q70a.mdp
@@ -56,12 +56,12 @@ with results as
       <dxl:TraceFlags Value="102001,102002,102003,102120,102144,103001,103014,103015,103022,103027,103033,105000"/>
     </dxl:OptimizerConfig>
     <dxl:Metadata SystemIds="0.GPDB">
-      <dxl:Index Mdid="0.8404352.1.0" Name="store_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35">
+      <dxl:Index Mdid="0.8404352.1.0" Name="store_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.8404104.1.0" Name="date_dim_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.8404104.1.0" Name="date_dim_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
@@ -6448,7 +6448,7 @@ with results as
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.8404414.1.0" Name="store_sales_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2,9" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29">
+      <dxl:Index Mdid="0.8404414.1.0" Name="store_sales_pkey" IsClustered="false" IndexType="B-tree" IndexItemType="0.2283.1.0" KeyColumns="2,9" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
           <dxl:Opfamily Mdid="0.1980.1.0"/>
diff --git a/src/backend/gporca/data/dxl/minidump/UnionAll.mdp b/src/backend/gporca/data/dxl/minidump/UnionAll.mdp
index 984a19d5c9..f98f9add0a 100644
--- a/src/backend/gporca/data/dxl/minidump/UnionAll.mdp
+++ b/src/backend/gporca/data/dxl/minidump/UnionAll.mdp
@@ -92,7 +92,7 @@
         <dxl:SumAgg Mdid="0.2114.1.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.17952.1.0" Name="index_17952" IsClustered="false" KeyColumns="1" IncludedColumns="1">
+      <dxl:Index Mdid="0.17952.1.0" Name="index_17952" IsClustered="false" KeyColumns="1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/UnionOfDQAQueries.mdp b/src/backend/gporca/data/dxl/minidump/UnionOfDQAQueries.mdp
index b371250986..d795bb97a6 100644
--- a/src/backend/gporca/data/dxl/minidump/UnionOfDQAQueries.mdp
+++ b/src/backend/gporca/data/dxl/minidump/UnionOfDQAQueries.mdp
@@ -150,7 +150,7 @@
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.471042.1.0" Name="sale_pkey" IsClustered="false" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12">
+      <dxl:Index Mdid="0.471042.1.0" Name="sale_pkey" IsClustered="false" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/UnnestSQJoins.mdp b/src/backend/gporca/data/dxl/minidump/UnnestSQJoins.mdp
index 023a7d3bb2..0853fe7e1b 100644
--- a/src/backend/gporca/data/dxl/minidump/UnnestSQJoins.mdp
+++ b/src/backend/gporca/data/dxl/minidump/UnnestSQJoins.mdp
@@ -131,13 +131,13 @@ WHERE
         <dxl:Commutator Mdid="0.410.1.0"/>
         <dxl:InverseOp Mdid="0.411.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.2654.1.0" Name="pg_amop_opr_opc_index" IsClustered="false" KeyColumns="4,0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.2654.1.0" Name="pg_amop_opr_opc_index" IsClustered="false" KeyColumns="4,0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2652.1.0" Name="pg_am_oid_index" IsClustered="false" KeyColumns="26" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32">
+      <dxl:Index Mdid="0.2652.1.0" Name="pg_am_oid_index" IsClustered="false" KeyColumns="26" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -501,26 +501,26 @@ WHERE
         <dxl:Commutator Mdid="0.1869.1.0"/>
         <dxl:InverseOp Mdid="0.1862.1.0"/>
       </dxl:GPDBScalarOp>
-      <dxl:Index Mdid="0.2653.1.0" Name="pg_amop_opc_strat_index" IsClustered="false" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11">
+      <dxl:Index Mdid="0.2653.1.0" Name="pg_amop_opc_strat_index" IsClustered="false" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
           <dxl:Opfamily Mdid="0.1976.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2651.1.0" Name="pg_am_name_index" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32">
+      <dxl:Index Mdid="0.2651.1.0" Name="pg_am_name_index" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2686.1.0" Name="pg_opclass_am_name_nsp_index" IsClustered="false" KeyColumns="0,1,2" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.2686.1.0" Name="pg_opclass_am_name_nsp_index" IsClustered="false" KeyColumns="0,1,2" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
           <dxl:Opfamily Mdid="0.1986.1.0"/>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
       </dxl:Index>
-      <dxl:Index Mdid="0.2687.1.0" Name="pg_opclass_oid_index" IsClustered="false" KeyColumns="8" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14">
+      <dxl:Index Mdid="0.2687.1.0" Name="pg_opclass_oid_index" IsClustered="false" KeyColumns="8" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1989.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/UnsupportedStatsPredicate.mdp b/src/backend/gporca/data/dxl/minidump/UnsupportedStatsPredicate.mdp
index f4acbe3ee9..84e84052e3 100644
--- a/src/backend/gporca/data/dxl/minidump/UnsupportedStatsPredicate.mdp
+++ b/src/backend/gporca/data/dxl/minidump/UnsupportedStatsPredicate.mdp
@@ -278,7 +278,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" KeyColumns="31" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2662.1.0" Name="pg_class_oid_index" IsClustered="false" KeyColumns="31" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
@@ -535,7 +535,7 @@
         <dxl:SumAgg Mdid="0.0.0.0"/>
         <dxl:CountAgg Mdid="0.2147.1.0"/>
       </dxl:Type>
-      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" KeyColumns="0,1" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37">
+      <dxl:Index Mdid="0.2663.1.0" Name="pg_class_relname_nsp_index" IsClustered="false" KeyColumns="0,1" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/UpdateUniqueConstraint-2.mdp b/src/backend/gporca/data/dxl/minidump/UpdateUniqueConstraint-2.mdp
index ac01bfd8c7..562bcfe032 100644
--- a/src/backend/gporca/data/dxl/minidump/UpdateUniqueConstraint-2.mdp
+++ b/src/backend/gporca/data/dxl/minidump/UpdateUniqueConstraint-2.mdp
@@ -99,7 +99,7 @@
         <dxl:ResultType Mdid="0.20.1.0"/>
         <dxl:IntermediateResultType Mdid="0.20.1.0"/>
       </dxl:GPDBAgg>
-      <dxl:Index Mdid="0.284658.1.0" Name="r_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+      <dxl:Index Mdid="0.284658.1.0" Name="r_pkey" IsClustered="false" KeyColumns="0" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.3027.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/minidump/retail_28.mdp b/src/backend/gporca/data/dxl/minidump/retail_28.mdp
index 204faaefa6..07d51b8299 100644
--- a/src/backend/gporca/data/dxl/minidump/retail_28.mdp
+++ b/src/backend/gporca/data/dxl/minidump/retail_28.mdp
@@ -2139,7 +2139,7 @@ ORDER BY to_char(order_datetime,'YYYY-Q')
           <dxl:UpperBound Closed="true" TypeMdid="0.1043.1.0" Value="AAAADTU4OTk1NTc3Mg==" LintValue="759579644"/>
         </dxl:StatsBucket>
       </dxl:ColumnStatistics>
-      <dxl:Index Mdid="0.4449193.1.0" Name="order_lineitems_cust_id_1_prt_default_part" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+      <dxl:Index Mdid="0.4449193.1.0" Name="order_lineitems_cust_id_1_prt_default_part" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="4" IncludedColumns="">
         <dxl:Opfamilies>
           <dxl:Opfamily Mdid="0.1978.1.0"/>
         </dxl:Opfamilies>
diff --git a/src/backend/gporca/data/dxl/parse_tests/q26-Metadata.xml b/src/backend/gporca/data/dxl/parse_tests/q26-Metadata.xml
index 372f199644..9a61f778b8 100644
--- a/src/backend/gporca/data/dxl/parse_tests/q26-Metadata.xml
+++ b/src/backend/gporca/data/dxl/parse_tests/q26-Metadata.xml
@@ -37,7 +37,7 @@
       </dxl:IndexInfoList>
       <dxl:CheckConstraints/>
     </dxl:Relation>
-    <dxl:Index Mdid="0.2345.2.1" Name="T_a" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="1">
+    <dxl:Index Mdid="0.2345.2.1" Name="T_a" IsClustered="false" IndexType="B-tree" KeyColumns="1" IncludedColumns="">
       <dxl:Opfamilies/>
     </dxl:Index>
     <dxl:Relation Mdid="6.1258.5.1" Name="S" IsTemporary="true" StorageType="AppendOnly, Column-oriented" DistributionPolicy="Hash" DistributionColumns="0,1" Keys="0;0,1" PartitionColumns="1">
@@ -122,7 +122,7 @@
         </dxl:And>
       </dxl:PartConstraint>
     </dxl:Relation>
-    <dxl:Index Mdid="0.812178.1.0" Name="date_dim_1_prt_p1_1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,6" IncludedColumns="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34">
+    <dxl:Index Mdid="0.812178.1.0" Name="date_dim_1_prt_p1_1_pkey" IsClustered="false" IndexType="B-tree" KeyColumns="0,6" IncludedColumns="">
       <dxl:Opfamilies>
         <dxl:Opfamily Mdid="0.3027.1.0"/>
         <dxl:Opfamily Mdid="0.3027.1.0"/>
@@ -249,7 +249,7 @@
         <dxl:Ident ColId="2" ColName="B" TypeMdid="0.23.1.0"/>
       </dxl:Comparison>
     </dxl:CheckConstraint>
-    <dxl:Index Mdid="0.17027.1.0" Name="r_ind" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="0,1,2,3,4,5,6,7,8">
+    <dxl:Index Mdid="0.17027.1.0" Name="r_ind" IsClustered="false" IndexType="Bitmap" IndexItemType="0.2283.1.0" KeyColumns="0" IncludedColumns="">
       <dxl:Opfamilies/>
     </dxl:Index>
     <dxl:Relation Mdid="6.378383.1.0" Name="ext_1" IsTemporary="false" StorageType="Foreign" DistributionPolicy="Random" Keys="10,4" ForeignServer="0.91908.1.0">
diff --git a/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformJoin2IndexApply.h b/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformJoin2IndexApply.h
index 9d2718f51c..266e3e5aa5 100644
--- a/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformJoin2IndexApply.h
+++ b/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformJoin2IndexApply.h
@@ -30,8 +30,7 @@ private:
 		CExpression *origJoinPred, CExpression *nodesToInsertAboveIndexGet,
 		CExpression *endOfNodesToInsertAboveIndexGet,
 		CTableDescriptor *ptabdescInner, CColRefSet *pcrsScalarExpr,
-		CColRefSet *outer_refs, CColRefSet *pcrsReqd, ULONG ulIndices,
-		CXformResult *pxfres);
+		CColRefSet *outer_refs, ULONG ulIndices, CXformResult *pxfres);
 
 	// helper to add IndexApply expression to given xform results container
 	// for homogeneous b-tree indexes
@@ -41,7 +40,7 @@ private:
 		CExpression *nodesToInsertAboveIndexGet,
 		CExpression *endOfNodesToInsertAboveIndexGet, CMDAccessor *md_accessor,
 		CExpressionArray *pdrgpexprConjuncts, CColRefSet *pcrsScalarExpr,
-		CColRefSet *outer_refs, CColRefSet *pcrsReqd, const IMDRelation *pmdrel,
+		CColRefSet *outer_refs, const IMDRelation *pmdrel,
 		const IMDIndex *pmdindex, CXformResult *pxfres);
 
 	// helper to add IndexApply expression to given xform results container
diff --git a/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformUtils.h b/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformUtils.h
index cbc86d2ea6..8eae01d383 100644
--- a/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformUtils.h
+++ b/src/backend/gporca/libgpopt/include/gpopt/xforms/CXformUtils.h
@@ -70,7 +70,7 @@ private:
 	enum EIndexCols
 	{
 		EicKey,
-		EicIncluded
+		EicKeyAndIncluded
 	};
 
 	// create a logical assert for the not nullable columns of the given table
@@ -184,9 +184,8 @@ private:
 	static CExpression *PexprBuildBtreeIndexPlan(
 		CMemoryPool *mp, CMDAccessor *md_accessor, CExpression *pexprGet,
 		ULONG ulOriginOpId, CExpressionArray *pdrgpexprConds,
-		CColRefSet *pcrsReqd, CColRefSet *pcrsScalarExpr,
-		CColRefSet *outer_refs, const IMDIndex *pmdindex,
-		const IMDRelation *pmdrel);
+		CColRefSet *pcrsScalarExpr, CColRefSet *outer_refs,
+		const IMDIndex *pmdindex, const IMDRelation *pmdrel);
 
 	// create a dynamic operator for a btree index plan
 	static CLogical *
@@ -248,9 +247,9 @@ private:
 	static CExpression *PexprBitmapSelectBestIndex(
 		CMemoryPool *mp, CMDAccessor *md_accessor, CExpression *pexprPred,
 		CTableDescriptor *ptabdesc, const IMDRelation *pmdrel,
-		CColRefArray *pdrgpcrOutput, CColRefSet *pcrsReqd,
-		CColRefSet *pcrsOuterRefs, CExpression **ppexprRecheck,
-		CExpression **ppexprResidual, BOOL alsoConsiderBTreeIndexes);
+		CColRefArray *pdrgpcrOutput, CColRefSet *pcrsOuterRefs,
+		CExpression **ppexprRecheck, CExpression **ppexprResidual,
+		BOOL alsoConsiderBTreeIndexes);
 
 	// iterate over given hash map and return array of arrays of project elements sorted by the column id of the first entries
 	static CExpressionArrays *PdrgpdrgpexprSortedPrjElemsArray(
@@ -381,6 +380,13 @@ public:
 										  const IMDIndex *pmdindex,
 										  const IMDRelation *pmdrel);
 
+	// return the set of key columns from the given array of columns which appear
+	// in the index key and included columns
+	static CColRefSet *PcrsIndexKeysAndIncludes(CMemoryPool *mp,
+												CColRefArray *colref_array,
+												const IMDIndex *pmdindex,
+												const IMDRelation *pmdrel);
+
 	// return the set of key columns from the given array of columns which appear
 	// in the index key columns
 	static CColRefSet *PcrsIndexKeys(CMemoryPool *mp,
@@ -388,19 +394,12 @@ public:
 									 const IMDIndex *pmdindex,
 									 const IMDRelation *pmdrel);
 
-	// return the set of key columns from the given array of columns which appear
-	// in the index included columns
-	static CColRefSet *PcrsIndexIncludedCols(CMemoryPool *mp,
-											 CColRefArray *colref_array,
-											 const IMDIndex *pmdindex,
-											 const IMDRelation *pmdrel);
-
 	// check if an index is applicable given the required, output and scalar
 	// expression columns
 	static BOOL FIndexApplicable(
 		CMemoryPool *mp, const IMDIndex *pmdindex, const IMDRelation *pmdrel,
-		CColRefArray *pdrgpcrOutput, CColRefSet *pcrsReqd,
-		CColRefSet *pcrsScalar, IMDIndex::EmdindexType emdindtype,
+		CColRefArray *pdrgpcrOutput, CColRefSet *pcrsScalar,
+		IMDIndex::EmdindexType emdindtype,
 		IMDIndex::EmdindexType altindtype = IMDIndex::EmdindSentinel);
 
 	// check whether a CTE should be inlined
@@ -443,13 +442,13 @@ public:
 	static CExpression *
 	PexprLogicalIndexGet(CMemoryPool *mp, CMDAccessor *md_accessor,
 						 CExpression *pexprGet, ULONG ulOriginOpId,
-						 CExpressionArray *pdrgpexprConds, CColRefSet *pcrsReqd,
+						 CExpressionArray *pdrgpexprConds,
 						 CColRefSet *pcrsScalarExpr, CColRefSet *outer_refs,
 						 const IMDIndex *pmdindex, const IMDRelation *pmdrel)
 	{
-		return PexprBuildBtreeIndexPlan(
-			mp, md_accessor, pexprGet, ulOriginOpId, pdrgpexprConds, pcrsReqd,
-			pcrsScalarExpr, outer_refs, pmdindex, pmdrel);
+		return PexprBuildBtreeIndexPlan(mp, md_accessor, pexprGet, ulOriginOpId,
+										pdrgpexprConds, pcrsScalarExpr,
+										outer_refs, pmdindex, pmdrel);
 	}
 
 	// helper for creating bitmap bool op expressions
diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformIndexGet2IndexOnlyScan.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformIndexGet2IndexOnlyScan.cpp
index f7a617a790..1a3a0e5e8c 100644
--- a/src/backend/gporca/libgpopt/src/xforms/CXformIndexGet2IndexOnlyScan.cpp
+++ b/src/backend/gporca/libgpopt/src/xforms/CXformIndexGet2IndexOnlyScan.cpp
@@ -111,8 +111,8 @@ CXformIndexGet2IndexOnlyScan::Transform(CXformContext *pxfctxt,
 	GPOS_ASSERT(nullptr != pdrgpcrOutput);
 	pdrgpcrOutput->AddRef();
 
-	CColRefSet *matched_cols =
-		CXformUtils::PcrsIndexKeys(mp, pdrgpcrOutput, pmdindex, pmdrel);
+	CColRefSet *matched_cols = CXformUtils::PcrsIndexKeysAndIncludes(
+		mp, pdrgpcrOutput, pmdindex, pmdrel);
 	CColRefSet *output_cols = GPOS_NEW(mp) CColRefSet(mp);
 
 	// An index only scan is allowed iff each used output column reference also
diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformJoin2IndexApply.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformJoin2IndexApply.cpp
index a340d22902..d81a0cecd0 100644
--- a/src/backend/gporca/libgpopt/src/xforms/CXformJoin2IndexApply.cpp
+++ b/src/backend/gporca/libgpopt/src/xforms/CXformJoin2IndexApply.cpp
@@ -124,8 +124,7 @@ CXformJoin2IndexApply::CreateHomogeneousIndexApplyAlternatives(
 		CreateHomogeneousBtreeIndexApplyAlternatives(
 			mp, joinOp, pexprOuter, pexprInner, pexprScalar, origJoinPred,
 			nodesToInsertAboveIndexGet, endOfNodesToInsertAboveIndexGet,
-			ptabdescInner, pcrsScalarExpr, outer_refs, pcrsReqd, ulIndices,
-			pxfres);
+			ptabdescInner, pcrsScalarExpr, outer_refs, ulIndices, pxfres);
 	}
 	else
 	{
@@ -156,8 +155,7 @@ CXformJoin2IndexApply::CreateHomogeneousBtreeIndexApplyAlternatives(
 	CExpression *origJoinPred, CExpression *nodesToInsertAboveIndexGet,
 	CExpression *endOfNodesToInsertAboveIndexGet,
 	CTableDescriptor *ptabdescInner, CColRefSet *pcrsScalarExpr,
-	CColRefSet *outer_refs, CColRefSet *pcrsReqd, ULONG ulIndices,
-	CXformResult *pxfres)
+	CColRefSet *outer_refs, ULONG ulIndices, CXformResult *pxfres)
 {
 	// array of expressions in the scalar expression
 	CExpressionArray *pdrgpexpr =
@@ -176,8 +174,8 @@ CXformJoin2IndexApply::CreateHomogeneousBtreeIndexApplyAlternatives(
 		CreateAlternativesForBtreeIndex(
 			mp, joinOp, pexprOuter, pexprInner, origJoinPred,
 			nodesToInsertAboveIndexGet, endOfNodesToInsertAboveIndexGet,
-			md_accessor, pdrgpexpr, pcrsScalarExpr, outer_refs, pcrsReqd,
-			pmdrel, pmdindex, pxfres);
+			md_accessor, pdrgpexpr, pcrsScalarExpr, outer_refs, pmdrel,
+			pmdindex, pxfres);
 	}
 
 	//clean-up
@@ -200,12 +198,12 @@ CXformJoin2IndexApply::CreateAlternativesForBtreeIndex(
 	CExpression *nodesToInsertAboveIndexGet,
 	CExpression *endOfNodesToInsertAboveIndexGet, CMDAccessor *md_accessor,
 	CExpressionArray *pdrgpexprConjuncts, CColRefSet *pcrsScalarExpr,
-	CColRefSet *outer_refs, CColRefSet *pcrsReqd, const IMDRelation *pmdrel,
-	const IMDIndex *pmdindex, CXformResult *pxfres)
+	CColRefSet *outer_refs, const IMDRelation *pmdrel, const IMDIndex *pmdindex,
+	CXformResult *pxfres)
 {
 	CExpression *pexprLogicalIndexGet = CXformUtils::PexprLogicalIndexGet(
 		mp, md_accessor, pexprInner, joinOp->UlOpId(), pdrgpexprConjuncts,
-		pcrsReqd, pcrsScalarExpr, outer_refs, pmdindex, pmdrel);
+		pcrsScalarExpr, outer_refs, pmdindex, pmdrel);
 	if (nullptr != pexprLogicalIndexGet)
 	{
 		// second child has residual predicates, create an apply of outer and inner
diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformSelect2DynamicIndexGet.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformSelect2DynamicIndexGet.cpp
index 3a746ea20f..689d516489 100644
--- a/src/backend/gporca/libgpopt/src/xforms/CXformSelect2DynamicIndexGet.cpp
+++ b/src/backend/gporca/libgpopt/src/xforms/CXformSelect2DynamicIndexGet.cpp
@@ -112,13 +112,8 @@ CXformSelect2DynamicIndexGet::Transform(CXformContext *pxfctxt,
 	GPOS_ASSERT(0 < pdrgpexpr->Size());
 
 	// derive the scalar and relational properties to build set of required columns
-	CColRefSet *pcrsOutput = pexpr->DeriveOutputColumns();
 	CColRefSet *pcrsScalarExpr = pexprScalar->DeriveUsedColumns();
 
-	CColRefSet *pcrsReqd = GPOS_NEW(mp) CColRefSet(mp);
-	pcrsReqd->Include(pcrsOutput);
-	pcrsReqd->Include(pcrsScalarExpr);
-
 	// find the indexes whose included columns meet the required columns
 	CMDAccessor *md_accessor = COptCtxt::PoctxtFromTLS()->Pmda();
 	const IMDRelation *pmdrel =
@@ -130,7 +125,7 @@ CXformSelect2DynamicIndexGet::Transform(CXformContext *pxfctxt,
 		const IMDIndex *pmdindex = md_accessor->RetrieveIndex(pmdidIndex);
 		CExpression *pexprDynamicIndexGet = CXformUtils::PexprLogicalIndexGet(
 			mp, md_accessor, pexprRelational, pexpr->Pop()->UlOpId(), pdrgpexpr,
-			pcrsReqd, pcrsScalarExpr, nullptr /*outer_refs*/, pmdindex, pmdrel);
+			pcrsScalarExpr, nullptr /*outer_refs*/, pmdindex, pmdrel);
 		if (nullptr != pexprDynamicIndexGet)
 		{
 			// create a redundant SELECT on top of DynamicIndexGet to be able to use predicate in partition elimination
@@ -143,7 +138,6 @@ CXformSelect2DynamicIndexGet::Transform(CXformContext *pxfctxt,
 		}
 	}
 
-	pcrsReqd->Release();
 	pdrgpexpr->Release();
 }
 
diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformSelect2IndexGet.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformSelect2IndexGet.cpp
index 004d1270f1..eb3f5fb44e 100644
--- a/src/backend/gporca/libgpopt/src/xforms/CXformSelect2IndexGet.cpp
+++ b/src/backend/gporca/libgpopt/src/xforms/CXformSelect2IndexGet.cpp
@@ -98,13 +98,8 @@ CXformSelect2IndexGet::Transform(CXformContext *pxfctxt, CXformResult *pxfres,
 	GPOS_ASSERT(pdrgpexpr->Size() > 0);
 
 	// derive the scalar and relational properties to build set of required columns
-	CColRefSet *pcrsOutput = pexpr->DeriveOutputColumns();
 	CColRefSet *pcrsScalarExpr = pexprScalar->DeriveUsedColumns();
 
-	CColRefSet *pcrsReqd = GPOS_NEW(mp) CColRefSet(mp);
-	pcrsReqd->Include(pcrsOutput);
-	pcrsReqd->Include(pcrsScalarExpr);
-
 	// find the indexes whose included columns meet the required columns
 	CMDAccessor *md_accessor = COptCtxt::PoctxtFromTLS()->Pmda();
 	const IMDRelation *pmdrel =
@@ -116,14 +111,13 @@ CXformSelect2IndexGet::Transform(CXformContext *pxfctxt, CXformResult *pxfres,
 		const IMDIndex *pmdindex = md_accessor->RetrieveIndex(pmdidIndex);
 		CExpression *pexprIndexGet = CXformUtils::PexprLogicalIndexGet(
 			mp, md_accessor, pexprRelational, pexpr->Pop()->UlOpId(), pdrgpexpr,
-			pcrsReqd, pcrsScalarExpr, nullptr /*outer_refs*/, pmdindex, pmdrel);
+			pcrsScalarExpr, nullptr /*outer_refs*/, pmdindex, pmdrel);
 		if (nullptr != pexprIndexGet)
 		{
 			pxfres->Add(pexprIndexGet);
 		}
 	}
 
-	pcrsReqd->Release();
 	pdrgpexpr->Release();
 }
 
diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformUtils.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformUtils.cpp
index 5a47a7c13a..b312a770fb 100644
--- a/src/backend/gporca/libgpopt/src/xforms/CXformUtils.cpp
+++ b/src/backend/gporca/libgpopt/src/xforms/CXformUtils.cpp
@@ -1772,6 +1772,25 @@ CXformUtils::PstrErrorMessage(CMemoryPool *mp, ULONG major, ULONG minor, ...)
 	return GPOS_NEW(mp) CWStringConst(mp, str.GetBuffer());
 }
 
+//---------------------------------------------------------------------------
+//	@function:
+//		CXformUtils::PcrsIndexKeysAndIncludes
+//
+//	@doc:
+//		Return the set of columns from the given array of columns which appear
+//		in the index key and included columns
+//
+//---------------------------------------------------------------------------
+CColRefSet *
+CXformUtils::PcrsIndexKeysAndIncludes(CMemoryPool *mp,
+									  CColRefArray *colref_array,
+									  const IMDIndex *pmdindex,
+									  const IMDRelation *pmdrel)
+{
+	return PcrsIndexColumns(mp, colref_array, pmdindex, pmdrel,
+							EicKeyAndIncluded);
+}
+
 //---------------------------------------------------------------------------
 //	@function:
 //		CXformUtils::PdrgpcrIndexKeys
@@ -1805,23 +1824,6 @@ CXformUtils::PcrsIndexKeys(CMemoryPool *mp, CColRefArray *colref_array,
 	return PcrsIndexColumns(mp, colref_array, pmdindex, pmdrel, EicKey);
 }
 
-//---------------------------------------------------------------------------
-//	@function:
-//		CXformUtils::PcrsIndexIncludedCols
-//
-//	@doc:
-//		Return the set of columns from the given array of columns which appear
-//		in the index included columns
-//
-//---------------------------------------------------------------------------
-CColRefSet *
-CXformUtils::PcrsIndexIncludedCols(CMemoryPool *mp, CColRefArray *colref_array,
-								   const IMDIndex *pmdindex,
-								   const IMDRelation *pmdrel)
-{
-	return PcrsIndexColumns(mp, colref_array, pmdindex, pmdrel, EicIncluded);
-}
-
 //---------------------------------------------------------------------------
 //	@function:
 //		CXformUtils::PcrsIndexColumns
@@ -1836,7 +1838,7 @@ CXformUtils::PcrsIndexColumns(CMemoryPool *mp, CColRefArray *colref_array,
 							  const IMDIndex *pmdindex,
 							  const IMDRelation *pmdrel, EIndexCols eic)
 {
-	GPOS_ASSERT(EicKey == eic || EicIncluded == eic);
+	GPOS_ASSERT(EicKey == eic || EicKeyAndIncluded == eic);
 	CColRefArray *pdrgpcrIndexColumns =
 		PdrgpcrIndexColumns(mp, colref_array, pmdindex, pmdrel, eic);
 	CColRefSet *pcrsCols = GPOS_NEW(mp) CColRefSet(mp, pdrgpcrIndexColumns);
@@ -1860,32 +1862,31 @@ CXformUtils::PdrgpcrIndexColumns(CMemoryPool *mp, CColRefArray *colref_array,
 								 const IMDIndex *pmdindex,
 								 const IMDRelation *pmdrel, EIndexCols eic)
 {
-	GPOS_ASSERT(EicKey == eic || EicIncluded == eic);
+	GPOS_ASSERT(EicKey == eic || EicKeyAndIncluded == eic);
 
 	CColRefArray *pdrgpcrIndex = GPOS_NEW(mp) CColRefArray(mp);
 
-	ULONG length = pmdindex->Keys();
-	if (EicIncluded == eic)
+	// key columns
+	for (ULONG ul = 0; ul < pmdindex->Keys(); ul++)
 	{
-		length = pmdindex->IncludedCols();
+		ULONG ulPos = pmdindex->KeyAt(ul);
+
+		ULONG ulPosNonDropped = pmdrel->NonDroppedColAt(ulPos);
+		GPOS_ASSERT(gpos::ulong_max != ulPosNonDropped);
+		GPOS_ASSERT(ulPosNonDropped < colref_array->Size());
+		CColRef *colref = (*colref_array)[ulPosNonDropped];
+		pdrgpcrIndex->Append(colref);
 	}
 
-	for (ULONG ul = 0; ul < length; ul++)
+	// included columns
+	for (ULONG ul = 0;
+		 ul < (EicKeyAndIncluded == eic ? pmdindex->IncludedCols() : 0); ul++)
 	{
-		ULONG ulPos = gpos::ulong_max;
-		if (EicIncluded == eic)
-		{
-			ulPos = pmdindex->IncludedColAt(ul);
-		}
-		else
-		{
-			ulPos = pmdindex->KeyAt(ul);
-		}
-		ULONG ulPosNonDropped = pmdrel->NonDroppedColAt(ulPos);
+		ULONG ulPos = pmdindex->IncludedColAt(ul);
 
+		ULONG ulPosNonDropped = pmdrel->NonDroppedColAt(ulPos);
 		GPOS_ASSERT(gpos::ulong_max != ulPosNonDropped);
 		GPOS_ASSERT(ulPosNonDropped < colref_array->Size());
-
 		CColRef *colref = (*colref_array)[ulPosNonDropped];
 		pdrgpcrIndex->Append(colref);
 	}
@@ -1905,7 +1906,7 @@ CXformUtils::PdrgpcrIndexColumns(CMemoryPool *mp, CColRefArray *colref_array,
 BOOL
 CXformUtils::FIndexApplicable(CMemoryPool *mp, const IMDIndex *pmdindex,
 							  const IMDRelation *pmdrel,
-							  CColRefArray *pdrgpcrOutput, CColRefSet *pcrsReqd,
+							  CColRefArray *pdrgpcrOutput,
 							  CColRefSet *pcrsScalar,
 							  IMDIndex::EmdindexType emdindtype,
 							  IMDIndex::EmdindexType altindtype)
@@ -1943,19 +1944,15 @@ CXformUtils::FIndexApplicable(CMemoryPool *mp, const IMDIndex *pmdindex,
 
 	BOOL fApplicable = true;
 
-	CColRefSet *pcrsIncludedCols =
-		CXformUtils::PcrsIndexIncludedCols(mp, pdrgpcrOutput, pmdindex, pmdrel);
 	CColRefSet *pcrsIndexCols =
 		CXformUtils::PcrsIndexKeys(mp, pdrgpcrOutput, pmdindex, pmdrel);
-	if (!pcrsIncludedCols->ContainsAll(pcrsReqd) ||	 // index is not covering
-		pcrsScalar->IsDisjoint(
+	if (pcrsScalar->IsDisjoint(
 			pcrsIndexCols))	 // indexing columns disjoint from the columns used in the scalar expression
 	{
 		fApplicable = false;
 	}
 
 	// clean up
-	pcrsIncludedCols->Release();
 	pcrsIndexCols->Release();
 
 	return fApplicable;
@@ -2399,15 +2396,16 @@ CXformUtils::FProcessGPDBAntiSemiHashJoin(
 //
 //---------------------------------------------------------------------------
 CExpression *
-CXformUtils::PexprBuildBtreeIndexPlan(
-	CMemoryPool *mp, CMDAccessor *md_accessor, CExpression *pexprGet,
-	ULONG ulOriginOpId, CExpressionArray *pdrgpexprConds, CColRefSet *pcrsReqd,
-	CColRefSet *pcrsScalarExpr, CColRefSet *outer_refs,
-	const IMDIndex *pmdindex, const IMDRelation *pmdrel)
+CXformUtils::PexprBuildBtreeIndexPlan(CMemoryPool *mp, CMDAccessor *md_accessor,
+									  CExpression *pexprGet, ULONG ulOriginOpId,
+									  CExpressionArray *pdrgpexprConds,
+									  CColRefSet *pcrsScalarExpr,
+									  CColRefSet *outer_refs,
+									  const IMDIndex *pmdindex,
+									  const IMDRelation *pmdrel)
 {
 	GPOS_ASSERT(nullptr != pexprGet);
 	GPOS_ASSERT(nullptr != pdrgpexprConds);
-	GPOS_ASSERT(nullptr != pcrsReqd);
 	GPOS_ASSERT(nullptr != pcrsScalarExpr);
 	GPOS_ASSERT(nullptr != pmdindex);
 	GPOS_ASSERT(nullptr != pmdrel);
@@ -2456,8 +2454,8 @@ CXformUtils::PexprBuildBtreeIndexPlan(
 			GPOS_NEW(mp) CWStringConst(mp, popGet->Name().Pstr()->GetBuffer());
 	}
 
-	if (!FIndexApplicable(mp, pmdindex, pmdrel, pdrgpcrOutput, pcrsReqd,
-						  pcrsScalarExpr, IMDIndex::EmdindBtree))
+	if (!FIndexApplicable(mp, pmdindex, pmdrel, pdrgpcrOutput, pcrsScalarExpr,
+						  IMDIndex::EmdindBtree))
 	{
 		GPOS_DELETE(alias);
 
@@ -2817,9 +2815,9 @@ CExpression *
 CXformUtils::PexprBitmapSelectBestIndex(
 	CMemoryPool *mp, CMDAccessor *md_accessor, CExpression *pexprPred,
 	CTableDescriptor *ptabdesc, const IMDRelation *pmdrel,
-	CColRefArray *pdrgpcrOutput, CColRefSet *pcrsReqd,
-	CColRefSet *pcrsOuterRefs, CExpression **ppexprRecheck,
-	CExpression **ppexprResidual, BOOL alsoConsiderBTreeIndexes)
+	CColRefArray *pdrgpcrOutput, CColRefSet *pcrsOuterRefs,
+	CExpression **ppexprRecheck, CExpression **ppexprResidual,
+	BOOL alsoConsiderBTreeIndexes)
 {
 	CColRefSet *pcrsScalar = pexprPred->DeriveUsedColumns();
 	ULONG ulBestIndex = 0;
@@ -2842,8 +2840,8 @@ CXformUtils::PexprBitmapSelectBestIndex(
 			md_accessor->RetrieveIndex(pmdrel->IndexMDidAt(ul));
 
 		if (CXformUtils::FIndexApplicable(mp, pmdindex, pmdrel, pdrgpcrOutput,
-										  pcrsReqd, pcrsScalar,
-										  IMDIndex::EmdindBitmap, altIndexType))
+										  pcrsScalar, IMDIndex::EmdindBitmap,
+										  altIndexType))
 		{
 			// found an applicable index
 			CExpressionArray *pdrgpexprScalar =
@@ -3112,7 +3110,7 @@ CXformUtils::CreateBitmapIndexProbesWithOrWithoutPredBreakdown(
 
 			// this also applies for the simple predicates of the form "ident op const" or "ident op const-array"
 			pexprBitmapLocal = PexprBitmapSelectBestIndex(
-				pmp, pmda, pexprPred, ptabdesc, pmdrel, pdrgpcrOutput, pcrsReqd,
+				pmp, pmda, pexprPred, ptabdesc, pmdrel, pdrgpcrOutput,
 				pcrsOuterRefs, &pexprRecheckLocal, &pexprResidualLocal,
 				isAPartialPredicateOrArrayCmp  // for partial preds or array comps
 				// we want to consider btree indexes
diff --git a/src/backend/gporca/libnaucrates/src/md/CMDIndexGPDB.cpp b/src/backend/gporca/libnaucrates/src/md/CMDIndexGPDB.cpp
index b61a4c2d1b..dcf6949c00 100644
--- a/src/backend/gporca/libnaucrates/src/md/CMDIndexGPDB.cpp
+++ b/src/backend/gporca/libnaucrates/src/md/CMDIndexGPDB.cpp
@@ -411,7 +411,13 @@ BOOL
 CMDIndexGPDB::IsCompatible(const IMDScalarOp *md_scalar_op, ULONG key_pos) const
 {
 	GPOS_ASSERT(nullptr != md_scalar_op);
-	GPOS_ASSERT(key_pos < m_mdid_opfamilies_array->Size());
+
+	// In cover indexes the non-key "payload" should not be considered
+	// compatible with a predicate
+	if (key_pos >= m_mdid_opfamilies_array->Size())
+	{
+		return false;
+	}
 
 	// check if the index opfamily for the key at the given position is one of
 	// the families the scalar comparison belongs to
diff --git a/src/backend/gporca/server/CMakeLists.txt b/src/backend/gporca/server/CMakeLists.txt
index a149b3acfd..946e0904dd 100644
--- a/src/backend/gporca/server/CMakeLists.txt
+++ b/src/backend/gporca/server/CMakeLists.txt
@@ -387,6 +387,9 @@ OrderedAggUsingGroupColumnInDirectArg OrderedAgg_multiple_samecol OrderedAgg_wit
 OrderedAgg_array_fraction OrderedAgg_multiple_samecol_difforderespec OrderedAgg_with_nonconst_fraction
 OrderedAgg_skewed_data;
 
+CoverintIndexTest:
+CoveringIndex-1 CoveringIndex-2 CoveringIndex-3;
+
 CForeignPartTest:
 ForeignPartUniform PartForeignMixed PartForeignDifferentServer PartForeignDifferentExecLocation PartForeignMixedDPE PartForeignMixedSPE PartForeignUniformSPE
 ")
diff --git a/src/include/gpopt/translate/CTranslatorRelcacheToDXL.h b/src/include/gpopt/translate/CTranslatorRelcacheToDXL.h
index 8834909174..f52ffefca8 100644
--- a/src/include/gpopt/translate/CTranslatorRelcacheToDXL.h
+++ b/src/include/gpopt/translate/CTranslatorRelcacheToDXL.h
@@ -244,10 +244,6 @@ private:
 	// check if index is supported
 	static BOOL IsIndexSupported(Relation index_rel);
 
-	// compute the array of included columns
-	static ULongPtrArray *ComputeIncludedCols(CMemoryPool *mp,
-											  const IMDRelation *md_rel);
-
 	// is given level included in the default partitions
 	static BOOL LevelHasDefaultPartition(List *default_levels, ULONG level);
 
diff --git a/src/test/regress/expected/gp_covering_index.out b/src/test/regress/expected/gp_covering_index.out
new file mode 100644
index 0000000000..46362f406a
--- /dev/null
+++ b/src/test/regress/expected/gp_covering_index.out
@@ -0,0 +1,652 @@
+-- Test Covering Indexes Feature
+--
+-- Purpose: Test that plans are optimal and correct using permutations of cover
+--          indexes in varying scenarios. Correctness is determined by the
+--          number of output rows from each query.
+--          Does the plan use index-scan, index-only-scan, or seq-scan?
+--
+-- N.B. "VACUUM ANALZE" is to update relallvisible used to determine cost of an
+--      index-only scan.
+-- start_matchsubs
+-- m/Memory: \d+kB/
+-- s/Memory: \d+kB/Memory: ###kB/
+-- end_matchsubs
+set optimizer_trace_fallback=on;
+set enable_seqscan=off;
+-- Basic scenario
+CREATE TABLE test_basic_cover_index(a int, b int, c int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+CREATE INDEX i_test_basic_index ON test_basic_cover_index(a) INCLUDE (b);
+INSERT INTO test_basic_cover_index SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_basic_cover_index;
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_basic_cover_index WHERE a>42 AND b>42;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Filter: (b > 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- Test CTE with cover indexes
+--
+-- Check that CTE over scan with cover index and cover index over cte both work
+-- ORCA_FEATURE_NOT_SUPPORTED: allow index-only-scan over CTE
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+WITH cte AS
+(
+    SELECT b FROM test_basic_cover_index WHERE a < 42
+)
+SELECT b FROM cte WHERE b%2=0;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+         Filter: ((b % 2) = 0)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- ORCA_FEATURE_NOT_SUPPORTED: allow index-only-scan over CTE
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+WITH cte AS
+(
+    SELECT a, b FROM test_basic_cover_index
+)
+SELECT b FROM cte WHERE a<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Subquery Scan on cte (actual rows=16 loops=1)
+         ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+               Index Cond: (a < 42)
+               Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- Views over cover indexes
+CREATE VIEW view_test_cover_indexes_with_filter AS
+SELECT a, b FROM test_basic_cover_index WHERE a<42;
+CREATE VIEW view_test_cover_indexes_without_filter AS
+SELECT a, b FROM test_basic_cover_index;
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM view_test_cover_indexes_with_filter;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM view_test_cover_indexes_without_filter WHERE a<42;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- Various Column Types
+--
+-- Use different column types to check that the scan associates the correct
+-- type to the correct column
+CREATE TABLE test_various_col_types(inttype int, texttype text, decimaltype decimal(10,2));
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'inttype' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+INSERT INTO test_various_col_types SELECT i, 'texttype'||i, i FROM generate_series(1,9999) i;
+CREATE INDEX i_test_various_col_types ON test_various_col_types(inttype) INCLUDE (texttype);
+VACUUM ANALYZE test_various_col_types;
+-- KEYS: [inttype] INCLUDED: [texttype]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF) SELECT texttype FROM test_various_col_types WHERE inttype<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_various_col_types on test_various_col_types (actual rows=16 loops=1)
+         Index Cond: (inttype < 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+DROP INDEX i_test_various_col_types;
+CREATE INDEX i_test_various_col_types ON test_various_col_types(decimaltype) INCLUDE (inttype);
+VACUUM ANALYZE test_various_col_types;
+-- KEYS: [decimaltype] INCLUDED: [inttype]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF) SELECT decimaltype, inttype FROM test_various_col_types WHERE decimaltype<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_various_col_types on test_various_col_types (actual rows=16 loops=1)
+         Index Cond: (decimaltype < '42'::numeric)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+ALTER TABLE test_various_col_types ADD COLUMN boxtype box;
+DROP INDEX i_test_various_col_types;
+CREATE INDEX i_test_various_col_types ON test_various_col_types(decimaltype) INCLUDE (boxtype);
+VACUUM ANALYZE test_various_col_types;
+-- KEYS: [decimaltype] INCLUDED: [boxtype]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF) SELECT decimaltype, boxtype FROM test_various_col_types WHERE decimaltype<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_various_col_types on test_various_col_types (actual rows=16 loops=1)
+         Index Cond: (decimaltype < '42'::numeric)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- Test drop/add columns before and after creation of the index
+--
+-- Alter (add/drop) columns to check that the correct data is read from the
+-- physical scan.
+CREATE TABLE test_add_drop_columns(a int, aa int, b int, bb int, c int, d int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+ALTER TABLE test_add_drop_columns DROP COLUMN aa;
+INSERT INTO test_add_drop_columns SELECT i, i+i, i*i, i*i*i, i+i+i FROM generate_series(1, 100)i;
+ALTER TABLE test_add_drop_columns DROP COLUMN bb;
+ALTER TABLE test_add_drop_columns ADD COLUMN e int;
+CREATE INDEX i_test_add_drop_columns ON test_add_drop_columns(a, b) INCLUDE (c);
+ALTER TABLE test_add_drop_columns ADD COLUMN f int;
+VACUUM ANALYZE test_add_drop_columns;
+-- KEYS: [a, b] INCLUDED: [c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_add_drop_columns WHERE a<42 AND b>42;
+                                              QUERY PLAN                                              
+------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_add_drop_columns on test_add_drop_columns (actual rows=8 loops=1)
+         Index Cond: ((a < 42) AND (b > 42))
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- KEYS: [a, b] INCLUDED: [c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_add_drop_columns WHERE a<42 AND b>42 AND c>42;
+                                              QUERY PLAN                                              
+------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_add_drop_columns on test_add_drop_columns (actual rows=8 loops=1)
+         Index Cond: ((a < 42) AND (b > 42))
+         Filter: (c > 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- KEYS: [a, b] INCLUDED: [c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c, d, e FROM test_add_drop_columns WHERE a<42 AND b>42 AND c>42 AND e IS NULL;
+                                           QUERY PLAN                                            
+-------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Scan using i_test_add_drop_columns on test_add_drop_columns (actual rows=8 loops=1)
+         Index Cond: ((a < 42) AND (b > 42))
+         Filter: ((e IS NULL) AND (c > 42))
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- Test various table types (e.g. AO/AOCO/replicated)
+--
+-- Check that different tables types (storage/distribution) leveage cover
+-- indexes correctly.
+CREATE TABLE test_replicated(a int, b int, c int) DISTRIBUTED REPLICATED;
+CREATE INDEX i_test_replicated ON test_replicated(a) INCLUDE (b);
+INSERT INTO test_replicated SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_replicated;
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_replicated WHERE a<42 AND b>42;
+                                        QUERY PLAN                                         
+-------------------------------------------------------------------------------------------
+ Gather Motion 1:1  (slice1; segments: 1) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_replicated on test_replicated (actual rows=20 loops=1)
+         Index Cond: (a < 42)
+         Filter: (b > 42)
+         Rows Removed by Filter: 21
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(7 rows)
+
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b, c FROM test_replicated WHERE a<42 AND b>42;
+                                      QUERY PLAN                                      
+--------------------------------------------------------------------------------------
+ Gather Motion 1:1  (slice1; segments: 1) (actual rows=20 loops=1)
+   ->  Index Scan using i_test_replicated on test_replicated (actual rows=20 loops=1)
+         Index Cond: (a < 42)
+         Filter: (b > 42)
+         Rows Removed by Filter: 21
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- Expect Seq Scan because predicate "c" is not in KEYS
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c FROM test_replicated WHERE c>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 1:1  (slice1; segments: 1) (actual rows=94 loops=1)
+   ->  Seq Scan on test_replicated (actual rows=94 loops=1)
+         Filter: (c > 42)
+         Rows Removed by Filter: 6
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- ORCA_FEATURE_NOT_SUPPORTED: enable index scans on AO tables
+CREATE TABLE test_ao(a int, b int, c int) WITH (appendonly=true) DISTRIBUTED BY (a);
+CREATE INDEX i_test_ao ON test_ao(a) INCLUDE (b);
+INSERT INTO test_ao SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_ao;
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_ao WHERE a<42 AND b>42;
+                                QUERY PLAN                                
+--------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_ao on test_ao (actual rows=8 loops=1)
+         Index Cond: (a < 42)
+         Filter: (b > 42)
+         Rows Removed by Filter: 8
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(7 rows)
+
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b, c FROM test_ao WHERE a<42 AND b>42;
+                             QUERY PLAN                              
+---------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Bitmap Heap Scan on test_ao (actual rows=8 loops=1)
+         Recheck Cond: (a < 42)
+         Filter: (b > 42)
+         Rows Removed by Filter: 8
+         ->  Bitmap Index Scan on i_test_ao (actual rows=16 loops=1)
+               Index Cond: (a < 42)
+ Optimizer: Postgres query optimizer
+(8 rows)
+
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c FROM test_ao WHERE c>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=94 loops=1)
+   ->  Seq Scan on test_ao (actual rows=36 loops=1)
+         Filter: (c > 42)
+         Rows Removed by Filter: 1
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- Test select best covering index
+--
+-- Check that the best cover index is chosen for a plan when multiple cover
+-- indexes are available.
+CREATE TABLE test_select_best_cover(a int, b int, c int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+CREATE INDEX i_test_select_best_cover_a ON test_select_best_cover(a);
+CREATE INDEX i_test_select_best_cover_a_b ON test_select_best_cover(a) INCLUDE (b);
+CREATE INDEX i_test_select_best_cover_ab ON test_select_best_cover(a, b);
+CREATE INDEX i_test_select_best_cover_b ON test_select_best_cover(b);
+CREATE INDEX i_test_select_best_cover_b_a ON test_select_best_cover(a) INCLUDE (b);
+CREATE INDEX i_test_select_best_cover_a_bc ON test_select_best_cover(a) INCLUDE (b, c);
+INSERT INTO test_select_best_cover SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_select_best_cover;
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a FROM test_select_best_cover WHERE a>42;
+                                                  QUERY PLAN                                                  
+--------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_a_bc on test_select_best_cover (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_select_best_cover WHERE b>42;
+                                                QUERY PLAN                                                 
+-----------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=79 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_b on test_select_best_cover (actual rows=33 loops=1)
+         Index Cond: (b > 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+-- ORCA_FEATURE_NOT_SUPPORTED: use i_test_select_best_cover_ab
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_select_best_cover WHERE a>42 AND b>42;
+                                                  QUERY PLAN                                                  
+--------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_a_bc on test_select_best_cover (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Filter: (b > 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_select_best_cover WHERE a>42 AND b>42 AND c>42;
+                                                  QUERY PLAN                                                  
+--------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_a_bc on test_select_best_cover (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Filter: ((b > 42) AND (c > 42))
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- Test DML operations
+--
+-- Check that cover indexes can be used with DML operations
+CREATE TABLE test_dml_using_cover_index(a int, b int, c int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+CREATE INDEX i_test_dml_using_cover_index ON test_dml_using_cover_index(a) INCLUDE (b);
+INSERT INTO test_dml_using_cover_index SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_dml_using_cover_index;
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+INSERT INTO test_dml_using_cover_index (SELECT a, a, a FROM test_dml_using_cover_index WHERE a>42);
+                                                                  QUERY PLAN                                                                  
+----------------------------------------------------------------------------------------------------------------------------------------------
+ Insert on test_dml_using_cover_index (actual rows=0 loops=1)
+   ->  Index Only Scan using i_test_dml_using_cover_index on test_dml_using_cover_index test_dml_using_cover_index_1 (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Heap Fetches: 24
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- Test index scan over partition tables
+--
+-- Check that cover indexes can be used with partition tables. This includes
+-- scenario when root/leaf partitions have different underlying physical format
+-- (e.g. drop column / exchange partition or leaf partition has cover index not
+-- defined on root).
+CREATE TABLE test_cover_index_on_pt(a int, b int, c int)
+DISTRIBUTED BY (a)
+PARTITION BY RANGE (b)
+(
+    START (0) END (4) EVERY (1)
+);
+CREATE INDEX i_test_cover_index_scan_on_partition_table ON test_cover_index_on_pt(a) INCLUDE(b);
+INSERT INTO test_cover_index_on_pt SELECT i+i, i%4 FROM generate_series(1, 10)i;
+VACUUM ANALYZE test_cover_index_on_pt;
+-- KEYS: [a]    INCLUDED: [b]
+-- ORCA_FEATURE_NOT_SUPPORTED: dynamic index only scan
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_cover_index_on_pt WHERE a<10;
+                                                             QUERY PLAN                                                             
+------------------------------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=4 loops=1)
+   ->  Append (actual rows=3 loops=1)
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_1_a_b_idx on test_cover_index_on_pt_1_prt_1 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_2_a_b_idx on test_cover_index_on_pt_1_prt_2 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_3_a_b_idx on test_cover_index_on_pt_1_prt_3 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_4_a_b_idx on test_cover_index_on_pt_1_prt_4 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(15 rows)
+
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c FROM test_cover_index_on_pt WHERE a<10;
+                                                          QUERY PLAN                                                           
+-------------------------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=4 loops=1)
+   ->  Append (actual rows=3 loops=1)
+         ->  Index Scan using test_cover_index_on_pt_1_prt_1_a_b_idx on test_cover_index_on_pt_1_prt_1 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+         ->  Index Scan using test_cover_index_on_pt_1_prt_2_a_b_idx on test_cover_index_on_pt_1_prt_2 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+         ->  Index Scan using test_cover_index_on_pt_1_prt_3_a_b_idx on test_cover_index_on_pt_1_prt_3 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+         ->  Index Scan using test_cover_index_on_pt_1_prt_4_a_b_idx on test_cover_index_on_pt_1_prt_4 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+ Optimizer: Postgres query optimizer
+(11 rows)
+
+-- Expect Seq Scan because predicate "b" is not in KEYS
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c FROM test_cover_index_on_pt WHERE b<10;
+                                   QUERY PLAN                                   
+--------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=10 loops=1)
+   ->  Append (actual rows=5 loops=1)
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_1 (actual rows=2 loops=1)
+               Filter: (b < 10)
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_2 (actual rows=2 loops=1)
+               Filter: (b < 10)
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_3 (actual rows=2 loops=1)
+               Filter: (b < 10)
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_4 (actual rows=2 loops=1)
+               Filter: (b < 10)
+ Optimizer: Postgres query optimizer
+(11 rows)
+
+CREATE TABLE leaf_part(a int, b int, c int) DISTRIBUTED BY (a);
+-- without explicit index declared on leaf_part
+ALTER TABLE test_cover_index_on_pt EXCHANGE PARTITION FOR(2) WITH TABLE leaf_part;
+INSERT INTO test_cover_index_on_pt VALUES (2, 2, 2);
+VACUUM ANALYZE test_cover_index_on_pt;
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_cover_index_on_pt WHERE a<10;
+                                                             QUERY PLAN                                                             
+------------------------------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=4 loops=1)
+   ->  Append (actual rows=3 loops=1)
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_1_a_b_idx on test_cover_index_on_pt_1_prt_1 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_2_a_b_idx on test_cover_index_on_pt_1_prt_2 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+         ->  Index Only Scan using leaf_part_a_b_idx on test_cover_index_on_pt_1_prt_3 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+         ->  Index Only Scan using test_cover_index_on_pt_1_prt_4_a_b_idx on test_cover_index_on_pt_1_prt_4 (actual rows=1 loops=1)
+               Index Cond: (a < 10)
+               Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(15 rows)
+
+DROP INDEX i_test_cover_index_scan_on_partition_table;
+-- with explicit index declared on leaf_part
+CREATE INDEX i_test_cover_index_scan_on_partition_table ON leaf_part(a) INCLUDE(b);
+VACUUM ANALYZE test_cover_index_on_pt;
+-- ORCA_FEATURE_NOT_SUPPORTED: partial dynamic index scan
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_cover_index_on_pt WHERE a<10;
+                                   QUERY PLAN                                   
+--------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=4 loops=1)
+   ->  Append (actual rows=3 loops=1)
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_1 (actual rows=1 loops=1)
+               Filter: (a < 10)
+               Rows Removed by Filter: 1
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_2 (actual rows=1 loops=1)
+               Filter: (a < 10)
+               Rows Removed by Filter: 1
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_3 (actual rows=1 loops=1)
+               Filter: (a < 10)
+         ->  Seq Scan on test_cover_index_on_pt_1_prt_4 (actual rows=1 loops=1)
+               Filter: (a < 10)
+               Rows Removed by Filter: 1
+ Optimizer: Postgres query optimizer
+(14 rows)
+
+-- Test various index types
+--
+-- Check that different index types can be used with cover indexes.
+-- Note: brin, hash, and spgist do not suport included columns.
+CREATE TABLE test_index_types(a box, b int, c int) DISTRIBUTED BY (b);
+INSERT INTO test_index_types VALUES ('(2.0,2.0,0.0,0.0)', 2, 2);
+INSERT INTO test_index_types VALUES ('(1.0,1.0,3.0,3.0)', 3, 3);
+CREATE INDEX i_test_index_types ON test_index_types USING GIST (a) INCLUDE (b);
+VACUUM ANALYZE test_index_types;
+-- KEYS: [a]    INCLUDED: [b]
+-- ORCA_FEATURE_NOT_SUPPORTED: support index-only-scan on GIST indexes
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_index_types WHERE a<@ box '(0,0,3,3)';
+                                         QUERY PLAN                                         
+--------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=2 loops=1)
+   ->  Index Only Scan using i_test_index_types on test_index_types (actual rows=2 loops=1)
+         Index Cond: (a <@ '(3,3),(0,0)'::box)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- 8) Test partial indexes
+--
+-- Check that partial cover indexes may be used
+CREATE TABLE test_partial_index(a int, b int, c int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+CREATE INDEX i_test_partial_index ON test_partial_index(a) INCLUDE (b) WHERE a<42;
+INSERT INTO test_partial_index SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_partial_index;
+-- KEYS: [a]    INCLUDED: [b]
+-- ORCA_FEATURE_NOT_SUPPORTED: support partial indexes
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_partial_index WHERE a>42 AND b>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Seq Scan on test_partial_index (actual rows=25 loops=1)
+         Filter: ((a > 42) AND (b > 42))
+         Rows Removed by Filter: 12
+ Optimizer: Postgres query optimizer
+(5 rows)
+
+-- Test backward index scan
+--
+-- Check that cover indexes may be used for backward index scan
+CREATE TABLE test_backward_index_scan(a int, b int, c int) DISTRIBUTED BY (a);
+CREATE INDEX i_test_backward_index_scan ON test_backward_index_scan(a) INCLUDE (b);
+INSERT INTO test_backward_index_scan SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_backward_index_scan;
+-- KEYS: [a]    INCLUDED: [b]
+-- ORCA_FEATURE_NOT_SUPPORTED enable backward index scan
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_backward_index_scan WHERE a>42 AND b>42 ORDER BY a DESC;
+                                                      QUERY PLAN                                                      
+----------------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   Merge Key: a
+   ->  Index Only Scan Backward using i_test_backward_index_scan on test_backward_index_scan (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Filter: (b > 42)
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(7 rows)
+
+-- Test index expressions
+--
+-- Check that cover indexes may be used for index expressions
+CREATE OR REPLACE FUNCTION add_one(integer)
+RETURNS INTEGER
+LANGUAGE 'plpgsql'
+AS $$
+BEGIN
+    RETURN $1 + 1;
+END;
+$$;
+CREATE TABLE test_index_expression_scan(a int, b int, c int) DISTRIBUTED BY (a);
+CREATE INDEX i_test_index_expression_scan ON test_index_expression_scan(a) INCLUDE (b);
+INSERT INTO test_index_expression_scan SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_index_expression_scan;
+-- KEYS: [a]    INCLUDED: [b]
+-- ORCA_FEATURE_NOT_SUPPORTED enable index expression
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT add_one(b) FROM test_index_expression_scan WHERE add_one(a) < 42;
+                                                   QUERY PLAN                                                    
+-----------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=40 loops=1)
+   ->  Index Only Scan using i_test_index_expression_scan on test_index_expression_scan (actual rows=15 loops=1)
+         Filter: (add_one(a) < 42)
+         Rows Removed by Filter: 23
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+-- Test combined indexes
+--
+-- Check that combined indexes may be used.  (on OR conditions) https://www.postgresql.org/docs/current/indexes-bitmap-scans.html
+CREATE TABLE test_combined_index_scan(a int, b int, c int) DISTRIBUTED BY (a);
+CREATE INDEX i_test_combined_index_scan_a ON test_combined_index_scan(a) INCLUDE (b);
+CREATE INDEX i_test_combined_index_scan_b ON test_combined_index_scan(b) INCLUDE (a);
+INSERT INTO test_combined_index_scan SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_combined_index_scan;
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [b]    INCLUDED: [a]
+-- ORCA_FEATURE_NOT_SUPPORTED enable combined index
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_combined_index_scan WHERE a < 42 OR b < 42;
+                                                  QUERY PLAN                                                   
+---------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_combined_index_scan_b on test_combined_index_scan (actual rows=16 loops=1)
+         Filter: ((a < 42) OR (b < 42))
+         Rows Removed by Filter: 22
+         Heap Fetches: 0
+ Optimizer: Postgres query optimizer
+(6 rows)
+
+reset optimizer_trace_fallback;
+reset enable_seqscan;
diff --git a/src/test/regress/expected/gp_covering_index_optimizer.out b/src/test/regress/expected/gp_covering_index_optimizer.out
new file mode 100644
index 0000000000..84f89b33fd
--- /dev/null
+++ b/src/test/regress/expected/gp_covering_index_optimizer.out
@@ -0,0 +1,611 @@
+-- Test Covering Indexes Feature
+--
+-- Purpose: Test that plans are optimal and correct using permutations of cover
+--          indexes in varying scenarios. Correctness is determined by the
+--          number of output rows from each query.
+--          Does the plan use index-scan, index-only-scan, or seq-scan?
+--
+-- N.B. "VACUUM ANALZE" is to update relallvisible used to determine cost of an
+--      index-only scan.
+-- start_matchsubs
+-- m/Memory: \d+kB/
+-- s/Memory: \d+kB/Memory: ###kB/
+-- end_matchsubs
+set optimizer_trace_fallback=on;
+set enable_seqscan=off;
+-- Basic scenario
+CREATE TABLE test_basic_cover_index(a int, b int, c int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+CREATE INDEX i_test_basic_index ON test_basic_cover_index(a) INCLUDE (b);
+INSERT INTO test_basic_cover_index SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_basic_cover_index;
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_basic_cover_index WHERE a>42 AND b>42;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Filter: (b > 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(6 rows)
+
+-- Test CTE with cover indexes
+--
+-- Check that CTE over scan with cover index and cover index over cte both work
+-- ORCA_FEATURE_NOT_SUPPORTED: allow index-only-scan over CTE
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+WITH cte AS
+(
+    SELECT b FROM test_basic_cover_index WHERE a < 42
+)
+SELECT b FROM cte WHERE b%2=0;
+                                          QUERY PLAN                                          
+----------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+         Filter: ((b % 2) = 0)
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- ORCA_FEATURE_NOT_SUPPORTED: allow index-only-scan over CTE
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+WITH cte AS
+(
+    SELECT a, b FROM test_basic_cover_index
+)
+SELECT b FROM cte WHERE a<42;
+                                          QUERY PLAN                                          
+----------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+ Optimizer: Pivotal Optimizer (GPORCA)
+(4 rows)
+
+-- Views over cover indexes
+CREATE VIEW view_test_cover_indexes_with_filter AS
+SELECT a, b FROM test_basic_cover_index WHERE a<42;
+CREATE VIEW view_test_cover_indexes_without_filter AS
+SELECT a, b FROM test_basic_cover_index;
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM view_test_cover_indexes_with_filter;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- KEYS: [a]    INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM view_test_cover_indexes_without_filter WHERE a<42;
+                                            QUERY PLAN                                             
+---------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_basic_index on test_basic_cover_index (actual rows=16 loops=1)
+         Index Cond: (a < 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- Various Column Types
+--
+-- Use different column types to check that the scan associates the correct
+-- type to the correct column
+CREATE TABLE test_various_col_types(inttype int, texttype text, decimaltype decimal(10,2));
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'inttype' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+INSERT INTO test_various_col_types SELECT i, 'texttype'||i, i FROM generate_series(1,9999) i;
+CREATE INDEX i_test_various_col_types ON test_various_col_types(inttype) INCLUDE (texttype);
+VACUUM ANALYZE test_various_col_types;
+-- KEYS: [inttype] INCLUDED: [texttype]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF) SELECT texttype FROM test_various_col_types WHERE inttype<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_various_col_types on test_various_col_types (actual rows=16 loops=1)
+         Index Cond: (inttype < 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+DROP INDEX i_test_various_col_types;
+CREATE INDEX i_test_various_col_types ON test_various_col_types(decimaltype) INCLUDE (inttype);
+VACUUM ANALYZE test_various_col_types;
+-- KEYS: [decimaltype] INCLUDED: [inttype]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF) SELECT decimaltype, inttype FROM test_various_col_types WHERE decimaltype<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_various_col_types on test_various_col_types (actual rows=16 loops=1)
+         Index Cond: (decimaltype < '42'::numeric)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+ALTER TABLE test_various_col_types ADD COLUMN boxtype box;
+DROP INDEX i_test_various_col_types;
+CREATE INDEX i_test_various_col_types ON test_various_col_types(decimaltype) INCLUDE (boxtype);
+VACUUM ANALYZE test_various_col_types;
+-- KEYS: [decimaltype] INCLUDED: [boxtype]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF) SELECT decimaltype, boxtype FROM test_various_col_types WHERE decimaltype<42;
+                                               QUERY PLAN                                                
+---------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=41 loops=1)
+   ->  Index Only Scan using i_test_various_col_types on test_various_col_types (actual rows=16 loops=1)
+         Index Cond: (decimaltype < '42'::numeric)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- Test drop/add columns before and after creation of the index
+--
+-- Alter (add/drop) columns to check that the correct data is read from the
+-- physical scan.
+CREATE TABLE test_add_drop_columns(a int, aa int, b int, bb int, c int, d int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+ALTER TABLE test_add_drop_columns DROP COLUMN aa;
+INSERT INTO test_add_drop_columns SELECT i, i+i, i*i, i*i*i, i+i+i FROM generate_series(1, 100)i;
+ALTER TABLE test_add_drop_columns DROP COLUMN bb;
+ALTER TABLE test_add_drop_columns ADD COLUMN e int;
+CREATE INDEX i_test_add_drop_columns ON test_add_drop_columns(a, b) INCLUDE (c);
+ALTER TABLE test_add_drop_columns ADD COLUMN f int;
+VACUUM ANALYZE test_add_drop_columns;
+-- KEYS: [a, b] INCLUDED: [c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_add_drop_columns WHERE a<42 AND b>42;
+                                              QUERY PLAN                                              
+------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_add_drop_columns on test_add_drop_columns (actual rows=8 loops=1)
+         Index Cond: ((a < 42) AND (b > 42))
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- KEYS: [a, b] INCLUDED: [c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b FROM test_add_drop_columns WHERE a<42 AND b>42 AND c>42;
+                                              QUERY PLAN                                              
+------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_add_drop_columns on test_add_drop_columns (actual rows=8 loops=1)
+         Index Cond: ((a < 42) AND (b > 42))
+         Filter: (c > 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(6 rows)
+
+-- KEYS: [a, b] INCLUDED: [c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c, d, e FROM test_add_drop_columns WHERE a<42 AND b>42 AND c>42 AND e IS NULL;
+                                           QUERY PLAN                                            
+-------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Index Scan using i_test_add_drop_columns on test_add_drop_columns (actual rows=8 loops=1)
+         Index Cond: ((a < 42) AND (b > 42))
+         Filter: ((c > 42) AND (e IS NULL))
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- Test various table types (e.g. AO/AOCO/replicated)
+--
+-- Check that different tables types (storage/distribution) leveage cover
+-- indexes correctly.
+CREATE TABLE test_replicated(a int, b int, c int) DISTRIBUTED REPLICATED;
+CREATE INDEX i_test_replicated ON test_replicated(a) INCLUDE (b);
+INSERT INTO test_replicated SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_replicated;
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_replicated WHERE a<42 AND b>42;
+                                        QUERY PLAN                                         
+-------------------------------------------------------------------------------------------
+ Gather Motion 1:1  (slice1; segments: 1) (actual rows=20 loops=1)
+   ->  Index Only Scan using i_test_replicated on test_replicated (actual rows=20 loops=1)
+         Index Cond: (a < 42)
+         Filter: (b > 42)
+         Rows Removed by Filter: 21
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(7 rows)
+
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b, c FROM test_replicated WHERE a<42 AND b>42;
+                                      QUERY PLAN                                      
+--------------------------------------------------------------------------------------
+ Gather Motion 1:1  (slice1; segments: 1) (actual rows=20 loops=1)
+   ->  Index Scan using i_test_replicated on test_replicated (actual rows=20 loops=1)
+         Index Cond: (a < 42)
+         Filter: (b > 42)
+         Rows Removed by Filter: 21
+ Optimizer: Pivotal Optimizer (GPORCA)
+(6 rows)
+
+-- Expect Seq Scan because predicate "c" is not in KEYS
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c FROM test_replicated WHERE c>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 1:1  (slice1; segments: 1) (actual rows=94 loops=1)
+   ->  Seq Scan on test_replicated (actual rows=94 loops=1)
+         Filter: (c > 42)
+         Rows Removed by Filter: 6
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- ORCA_FEATURE_NOT_SUPPORTED: enable index scans on AO tables
+CREATE TABLE test_ao(a int, b int, c int) WITH (appendonly=true) DISTRIBUTED BY (a);
+CREATE INDEX i_test_ao ON test_ao(a) INCLUDE (b);
+INSERT INTO test_ao SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_ao;
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_ao WHERE a<42 AND b>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Seq Scan on test_ao (actual rows=8 loops=1)
+         Filter: ((a < 42) AND (b > 42))
+         Rows Removed by Filter: 30
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b, c FROM test_ao WHERE a<42 AND b>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=20 loops=1)
+   ->  Seq Scan on test_ao (actual rows=8 loops=1)
+         Filter: ((a < 42) AND (b > 42))
+         Rows Removed by Filter: 30
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- KEYS: [a] INCLUDED: [b]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a, b, c FROM test_ao WHERE c>42;
+                            QUERY PLAN                             
+-------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=94 loops=1)
+   ->  Seq Scan on test_ao (actual rows=36 loops=1)
+         Filter: (c > 42)
+         Rows Removed by Filter: 1
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- Test select best covering index
+--
+-- Check that the best cover index is chosen for a plan when multiple cover
+-- indexes are available.
+CREATE TABLE test_select_best_cover(a int, b int, c int);
+NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'a' as the Greenplum Database data distribution key for this table.
+HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew.
+CREATE INDEX i_test_select_best_cover_a ON test_select_best_cover(a);
+CREATE INDEX i_test_select_best_cover_a_b ON test_select_best_cover(a) INCLUDE (b);
+CREATE INDEX i_test_select_best_cover_ab ON test_select_best_cover(a, b);
+CREATE INDEX i_test_select_best_cover_b ON test_select_best_cover(b);
+CREATE INDEX i_test_select_best_cover_b_a ON test_select_best_cover(a) INCLUDE (b);
+CREATE INDEX i_test_select_best_cover_a_bc ON test_select_best_cover(a) INCLUDE (b, c);
+INSERT INTO test_select_best_cover SELECT i, i+i, i*i FROM generate_series(1, 100)i;
+VACUUM ANALYZE test_select_best_cover;
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT a FROM test_select_best_cover WHERE a>42;
+                                                QUERY PLAN                                                 
+-----------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_a on test_select_best_cover (actual rows=25 loops=1)
+         Index Cond: (a > 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_select_best_cover WHERE b>42;
+                                                QUERY PLAN                                                 
+-----------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=79 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_b on test_select_best_cover (actual rows=33 loops=1)
+         Index Cond: (b > 42)
+         Heap Fetches: 0
+ Optimizer: Pivotal Optimizer (GPORCA)
+(5 rows)
+
+-- KEYS: [a]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a, b] INCLUDED: []
+-- KEYS: [b]    INCLUDED: []
+-- KEYS: [a]    INCLUDED: [b]
+-- KEYS: [a]    INCLUDED: [b, c]
+-- ORCA_FEATURE_NOT_SUPPORTED: use i_test_select_best_cover_ab
+EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF)
+SELECT b FROM test_select_best_cover WHERE a>42 AND b>42;
+                                                 QUERY PLAN                                                  
+-------------------------------------------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3) (actual rows=58 loops=1)
+   ->  Index Only Scan using i_test_select_best_cover_a_b on test_select_best_cover (actual rows=25 loops=1)
... 686 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org