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 2a666c8cd507a5b63829270d89b9a14ac88a176f Author: zhoujiaqi <[email protected]> AuthorDate: Mon Feb 17 11:30:39 2025 +0800 [ORCA] Remove the AO version check in indexscan check In versions after CBDB after open source, the old version of AO table will not appear. For ORCA, it will always get an AO table which supports indexscan. The current commit deletes the logic about ao version in ORCA. --- .../gpopt/translate/CTranslatorRelcacheToDXL.cpp | 50 +--------------------- .../include/gpopt/metadata/CIndexDescriptor.h | 2 - .../include/gpopt/metadata/CTableDescriptor.h | 11 ----- .../libgpopt/src/metadata/CIndexDescriptor.cpp | 10 ----- .../libgpopt/src/metadata/CTableDescriptor.cpp | 3 +- .../src/translate/CTranslatorDXLToExpr.cpp | 7 +-- .../src/translate/CTranslatorExprToDXL.cpp | 2 +- ...ormDynamicIndexOnlyGet2DynamicIndexOnlyScan.cpp | 11 ----- .../xforms/CXformIndexOnlyGet2IndexOnlyScan.cpp | 10 ----- .../naucrates/dxl/parser/CParseHandlerMDRelation.h | 3 -- .../include/naucrates/dxl/xml/dxltokens.h | 1 - .../include/naucrates/md/CMDRelationCtasGPDB.h | 6 --- .../include/naucrates/md/CMDRelationGPDB.h | 8 +--- .../include/naucrates/md/IMDRelation.h | 22 ---------- .../gporca/libnaucrates/src/md/CMDRelationGPDB.cpp | 18 +------- .../src/parser/CParseHandlerMDRelation.cpp | 16 +------ .../gporca/libnaucrates/src/xml/dxltokens.cpp | 1 - .../gporca/server/src/unittest/CTestUtils.cpp | 1 - .../unittest/dxl/statistics/CStatisticsTest.cpp | 1 - .../gpopt/translate/CTranslatorDXLToExprTest.cpp | 2 +- 20 files changed, 9 insertions(+), 176 deletions(-) diff --git a/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp b/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp index 1184d5756d..2bce1f4eba 100644 --- a/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp +++ b/src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp @@ -473,49 +473,6 @@ CTranslatorRelcacheToDXL::RetrieveExtStatsInfo(CMemoryPool *mp, IMDId *mdid) extstats_info_array); } - -//--------------------------------------------------------------------------- -// @function: -// get_ao_version -// -// @doc: -// Retrieve a relation's AORelationVersion. If table is partitioned then -// return the lowest AORelationVersion from all children. If table is not -// AO table (e.g. heap table) or a partitioned table that does not contain -// an AO table then return AORelationVersion_None. -// -//--------------------------------------------------------------------------- -static IMDRelation::Erelaoversion -get_ao_version(gpdb::RelationWrapper &rel) -{ - // partitioned table - return lowest version of child partitions - if (rel->rd_partdesc) - { - IMDRelation::Erelaoversion low_ao_version = - IMDRelation::MaxAORelationVersion; - for (int i = 0; i < rel->rd_partdesc->nparts; i++) - { - gpdb::RelationWrapper child_rel = - gpdb::GetRelation(rel->rd_partdesc->oids[i]); - IMDRelation::Erelaoversion child_low_version = - get_ao_version(child_rel); - if (child_low_version < low_ao_version && - child_low_version != IMDRelation::AORelationVersion_None) - { - low_ao_version = child_low_version; - } - } - return low_ao_version; - } - // non-partitioned AO table or leaf AO table - else if (RelationStorageIsAO(rel)) - { - return static_cast<IMDRelation::Erelaoversion>( - AORelationVersion_Get(rel.get())); - } - return IMDRelation::AORelationVersion_None; -} - //--------------------------------------------------------------------------- // @function: // CTranslatorRelcacheToDXL::RetrieveRel @@ -553,8 +510,6 @@ CTranslatorRelcacheToDXL::RetrieveRel(CMemoryPool *mp, CMDAccessor *md_accessor, CMDName *mdname = nullptr; IMDRelation::Erelstoragetype rel_storage_type = IMDRelation::ErelstorageSentinel; - IMDRelation::Erelaoversion rel_ao_version = - IMDRelation::AORelationVersion_None; CMDColumnArray *mdcol_array = nullptr; IMDRelation::Ereldistrpolicy dist = IMDRelation::EreldistrSentinel; ULongPtrArray *distr_cols = nullptr; @@ -577,9 +532,6 @@ CTranslatorRelcacheToDXL::RetrieveRel(CMemoryPool *mp, CMDAccessor *md_accessor, // get storage type rel_storage_type = RetrieveRelStorageType(rel.get()); - // get append only table version - rel_ao_version = get_ao_version(rel); - // get relation columns mdcol_array = RetrieveRelColumns(mp, md_accessor, rel.get()); const ULONG max_cols = @@ -673,7 +625,7 @@ CTranslatorRelcacheToDXL::RetrieveRel(CMemoryPool *mp, CMDAccessor *md_accessor, } md_rel = GPOS_NEW(mp) CMDRelationGPDB( - mp, mdid, mdname, is_temporary, rel_storage_type, rel_ao_version, dist, + mp, mdid, mdname, is_temporary, rel_storage_type, dist, mdcol_array, distr_cols, distr_op_families, part_keys, part_types, partition_oids, convert_hash_to_random, keyset_array, md_index_info_array, check_constraint_mdids, mdpart_constraint, diff --git a/src/backend/gporca/libgpopt/include/gpopt/metadata/CIndexDescriptor.h b/src/backend/gporca/libgpopt/include/gpopt/metadata/CIndexDescriptor.h index 852822c37b..c092161c13 100644 --- a/src/backend/gporca/libgpopt/include/gpopt/metadata/CIndexDescriptor.h +++ b/src/backend/gporca/libgpopt/include/gpopt/metadata/CIndexDescriptor.h @@ -114,8 +114,6 @@ public: return m_index_type; } - BOOL SupportsIndexOnlyScan(CTableDescriptor *ptabdesc) const; - // create an index descriptor static CIndexDescriptor *Pindexdesc(CMemoryPool *mp, const CTableDescriptor *ptabdesc, diff --git a/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h b/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h index 7b68dd3f15..cb5aa1583f 100644 --- a/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h +++ b/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h @@ -63,9 +63,6 @@ private: // storage type IMDRelation::Erelstoragetype m_erelstoragetype; - // append only table version - IMDRelation::Erelaoversion m_erelaoversion; - // distribution columns for hash distribution CColumnDescriptorArray *m_pdrgpcoldescDist; @@ -108,7 +105,6 @@ public: BOOL convert_hash_to_random, IMDRelation::Ereldistrpolicy rel_distr_policy, IMDRelation::Erelstoragetype erelstoragetype, - IMDRelation::Erelaoversion erelaoversion, ULONG ulExecuteAsUser, INT lockmode, ULONG acl_mode, ULONG assigned_query_id_for_target_rel); @@ -217,13 +213,6 @@ public: return m_erelstoragetype; } - // append only table version - IMDRelation::Erelaoversion - GetRelAOVersion() const - { - return m_erelaoversion; - } - BOOL IsPartitioned() const { diff --git a/src/backend/gporca/libgpopt/src/metadata/CIndexDescriptor.cpp b/src/backend/gporca/libgpopt/src/metadata/CIndexDescriptor.cpp index b25b286647..d68131f08e 100644 --- a/src/backend/gporca/libgpopt/src/metadata/CIndexDescriptor.cpp +++ b/src/backend/gporca/libgpopt/src/metadata/CIndexDescriptor.cpp @@ -142,16 +142,6 @@ CIndexDescriptor::Pindexdesc(CMemoryPool *mp, const CTableDescriptor *ptabdesc, return pindexdesc; } -BOOL -CIndexDescriptor::SupportsIndexOnlyScan(CTableDescriptor *ptabdesc) const -{ - // index only scan is not supported on GPDB 6 append-only tables. - return !((ptabdesc->IsAORowOrColTable() || - IMDRelation::ErelstorageMixedPartitioned == - ptabdesc->RetrieveRelStorageType()) && - ptabdesc->GetRelAOVersion() < IMDRelation::AORelationVersion_GP7); -} - //--------------------------------------------------------------------------- // @function: // CIndexDescriptor::OsPrint diff --git a/src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp b/src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp index dfca5e7bc1..15bd4e14cc 100644 --- a/src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp +++ b/src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp @@ -38,7 +38,7 @@ CTableDescriptor::CTableDescriptor( CMemoryPool *mp, IMDId *mdid, const CName &name, BOOL convert_hash_to_random, IMDRelation::Ereldistrpolicy rel_distr_policy, IMDRelation::Erelstoragetype erelstoragetype, - IMDRelation::Erelaoversion erelaoversion, ULONG ulExecuteAsUser, + ULONG ulExecuteAsUser, INT lockmode, ULONG acl_mode, ULONG assigned_query_id_for_target_rel) : m_mp(mp), m_mdid(mdid), @@ -46,7 +46,6 @@ CTableDescriptor::CTableDescriptor( m_pdrgpcoldesc(nullptr), m_rel_distr_policy(rel_distr_policy), m_erelstoragetype(erelstoragetype), - m_erelaoversion(erelaoversion), m_pdrgpcoldescDist(nullptr), m_distr_opfamilies(nullptr), m_convert_hash_to_random(convert_hash_to_random), diff --git a/src/backend/gporca/libgpopt/src/translate/CTranslatorDXLToExpr.cpp b/src/backend/gporca/libgpopt/src/translate/CTranslatorDXLToExpr.cpp index 347ae4227b..22d8bb3eba 100644 --- a/src/backend/gporca/libgpopt/src/translate/CTranslatorDXLToExpr.cpp +++ b/src/backend/gporca/libgpopt/src/translate/CTranslatorDXLToExpr.cpp @@ -2141,13 +2141,10 @@ CTranslatorDXLToExpr::Ptabdesc(CDXLTableDescr *table_descr) IMDRelation::Erelstoragetype rel_storage_type = pmdrel->RetrieveRelStorageType(); - // get append only table version - IMDRelation::Erelaoversion rel_ao_version = pmdrel->GetRelAOVersion(); - mdid->AddRef(); CTableDescriptor *ptabdesc = GPOS_NEW(m_mp) CTableDescriptor( m_mp, mdid, CName(m_mp, &strName), pmdrel->ConvertHashToRandom(), - rel_distr_policy, rel_storage_type, rel_ao_version, + rel_distr_policy, rel_storage_type, table_descr->GetExecuteAsUserId(), table_descr->LockMode(), table_descr->GetAclMode(), table_descr->GetAssignedQueryIdForTargetRel()); @@ -2345,7 +2342,7 @@ CTranslatorDXLToExpr::PtabdescFromCTAS(CDXLLogicalCTAS *pdxlopCTAS) mdid->AddRef(); CTableDescriptor *ptabdesc = GPOS_NEW(m_mp) CTableDescriptor( m_mp, mdid, CName(m_mp, &strName), pmdrel->ConvertHashToRandom(), - rel_distr_policy, rel_storage_type, IMDRelation::GetCurrentAOVersion(), + rel_distr_policy, rel_storage_type, 0, // ulExecuteAsUser, use permissions of current user 3, // CTAS always uses a RowExclusiveLock on the table. See createas.c 2, // CTAS always requires SELECT and SELECT only privilege diff --git a/src/backend/gporca/libgpopt/src/translate/CTranslatorExprToDXL.cpp b/src/backend/gporca/libgpopt/src/translate/CTranslatorExprToDXL.cpp index 0d757f0f77..0043eceb08 100644 --- a/src/backend/gporca/libgpopt/src/translate/CTranslatorExprToDXL.cpp +++ b/src/backend/gporca/libgpopt/src/translate/CTranslatorExprToDXL.cpp @@ -1270,7 +1270,7 @@ CTranslatorExprToDXL::MakeTableDescForPart(const IMDRelation *part, CTableDescriptor *table_descr = GPOS_NEW(m_mp) CTableDescriptor( m_mp, part_mdid, part->Mdname().GetMDName(), part->ConvertHashToRandom(), part->GetRelDistribution(), - part->RetrieveRelStorageType(), root_table_desc->GetRelAOVersion(), + part->RetrieveRelStorageType(), root_table_desc->GetExecuteAsUserId(), root_table_desc->LockMode(), root_table_desc->GetAclMode(), root_table_desc->GetAssignedQueryIdForTargetRel()); diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformDynamicIndexOnlyGet2DynamicIndexOnlyScan.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformDynamicIndexOnlyGet2DynamicIndexOnlyScan.cpp index 1d1a5f8bd4..eae73f744c 100644 --- a/src/backend/gporca/libgpopt/src/xforms/CXformDynamicIndexOnlyGet2DynamicIndexOnlyScan.cpp +++ b/src/backend/gporca/libgpopt/src/xforms/CXformDynamicIndexOnlyGet2DynamicIndexOnlyScan.cpp @@ -47,17 +47,6 @@ CXform::EXformPromise CXformDynamicIndexOnlyGet2DynamicIndexOnlyScan::Exfp( CExpressionHandle &exprhdl) const { - CLogicalDynamicIndexOnlyGet *popGet = - CLogicalDynamicIndexOnlyGet::PopConvert(exprhdl.Pop()); - CIndexDescriptor *pindexdesc = popGet->Pindexdesc(); - CTableDescriptor *ptabdesc = popGet->Ptabdesc(); - - if (!pindexdesc->SupportsIndexOnlyScan(ptabdesc)) - { - // FIXME: relax btree requirement. GiST and SP-GiST indexes can support some operator classes, but Gin cannot - return CXform::ExfpNone; - } - if (exprhdl.DeriveHasSubquery(0)) { return CXform::ExfpNone; diff --git a/src/backend/gporca/libgpopt/src/xforms/CXformIndexOnlyGet2IndexOnlyScan.cpp b/src/backend/gporca/libgpopt/src/xforms/CXformIndexOnlyGet2IndexOnlyScan.cpp index 22df1e949c..c2918cb959 100644 --- a/src/backend/gporca/libgpopt/src/xforms/CXformIndexOnlyGet2IndexOnlyScan.cpp +++ b/src/backend/gporca/libgpopt/src/xforms/CXformIndexOnlyGet2IndexOnlyScan.cpp @@ -50,16 +50,6 @@ CXformIndexOnlyGet2IndexOnlyScan::CXformIndexOnlyGet2IndexOnlyScan( CXform::EXformPromise CXformIndexOnlyGet2IndexOnlyScan::Exfp(CExpressionHandle &exprhdl) const { - CLogicalIndexOnlyGet *popGet = - CLogicalIndexOnlyGet::PopConvert(exprhdl.Pop()); - CIndexDescriptor *pindexdesc = popGet->Pindexdesc(); - CTableDescriptor *ptabdesc = popGet->Ptabdesc(); - - if (!pindexdesc->SupportsIndexOnlyScan(ptabdesc)) - { - return CXform::ExfpNone; - } - if (exprhdl.DeriveHasSubquery(0)) { return CXform::ExfpNone; diff --git a/src/backend/gporca/libnaucrates/include/naucrates/dxl/parser/CParseHandlerMDRelation.h b/src/backend/gporca/libnaucrates/include/naucrates/dxl/parser/CParseHandlerMDRelation.h index 8be0aca760..6dc7b54918 100644 --- a/src/backend/gporca/libnaucrates/include/naucrates/dxl/parser/CParseHandlerMDRelation.h +++ b/src/backend/gporca/libnaucrates/include/naucrates/dxl/parser/CParseHandlerMDRelation.h @@ -51,9 +51,6 @@ protected: // storage type IMDRelation::Erelstoragetype m_rel_storage_type; - // append only table version - IMDRelation::Erelaoversion m_rel_ao_version; - // distribution policy IMDRelation::Ereldistrpolicy m_rel_distr_policy; diff --git a/src/backend/gporca/libnaucrates/include/naucrates/dxl/xml/dxltokens.h b/src/backend/gporca/libnaucrates/include/naucrates/dxl/xml/dxltokens.h index 9f18d6c5c7..e057b03251 100644 --- a/src/backend/gporca/libnaucrates/include/naucrates/dxl/xml/dxltokens.h +++ b/src/backend/gporca/libnaucrates/include/naucrates/dxl/xml/dxltokens.h @@ -750,7 +750,6 @@ enum Edxltoken EdxltokenForeignServerOid, EdxltokenPhysicalDynamicIndexOnlyScan, - EdxltokenRelAppendOnlyVersion, EdxltokenSentinel }; diff --git a/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationCtasGPDB.h b/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationCtasGPDB.h index 710361550b..9434e9df35 100644 --- a/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationCtasGPDB.h +++ b/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationCtasGPDB.h @@ -147,12 +147,6 @@ public: return m_rel_storage_type; } - Erelaoversion - GetRelAOVersion() const override - { - return IMDRelation::GetCurrentAOVersion(); - } - // CTAS storage options CDXLCtasStorageOptions * GetDxlCtasStorageOption() const override diff --git a/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationGPDB.h b/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationGPDB.h index 52c790f237..40669dfad1 100644 --- a/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationGPDB.h +++ b/src/backend/gporca/libnaucrates/include/naucrates/md/CMDRelationGPDB.h @@ -62,9 +62,6 @@ private: // storage type Erelstoragetype m_rel_storage_type; - // append only table version - Erelaoversion m_rel_ao_version; - // distribution policy Ereldistrpolicy m_rel_distr_policy; @@ -128,7 +125,7 @@ public: // ctor CMDRelationGPDB( CMemoryPool *mp, IMDId *mdid, CMDName *mdname, BOOL is_temp_table, - Erelstoragetype rel_storage_type, Erelaoversion rel_ao_version, + Erelstoragetype rel_storage_type, Ereldistrpolicy rel_distr_policy, CMDColumnArray *mdcol_array, ULongPtrArray *distr_col_array, IMdIdArray *distr_opfamilies, ULongPtrArray *partition_cols_array, CharPtrArray *str_part_types_array, @@ -155,9 +152,6 @@ public: // storage type (heap, appendonly, ...) Erelstoragetype RetrieveRelStorageType() const override; - // append only table version - Erelaoversion GetRelAOVersion() const override; - // distribution policy (none, hash, random) Ereldistrpolicy GetRelDistribution() const override; diff --git a/src/backend/gporca/libnaucrates/include/naucrates/md/IMDRelation.h b/src/backend/gporca/libnaucrates/include/naucrates/md/IMDRelation.h index 872713c588..0bc4d3a9da 100644 --- a/src/backend/gporca/libnaucrates/include/naucrates/md/IMDRelation.h +++ b/src/backend/gporca/libnaucrates/include/naucrates/md/IMDRelation.h @@ -56,18 +56,6 @@ public: ErelstorageSentinel }; - //------------------------------------------------------------------- - // @doc: - // Append-only table version (if append-only table) - //------------------------------------------------------------------- - enum Erelaoversion - { - AORelationVersion_None, - AORelationVersion_GP6, - AORelationVersion_GP7, - MaxAORelationVersion - }; - //------------------------------------------------------------------- // @doc: // Distribution policy of a relation @@ -102,22 +90,12 @@ public: return EmdtRel; } - // Gets current cluster's append-only table version - static Erelaoversion - GetCurrentAOVersion() - { - return static_cast<Erelaoversion>(MaxAORelationVersion - 1); - } - // is this a temp relation virtual BOOL IsTemporary() const = 0; // storage type (heap, appendonly, ...) virtual Erelstoragetype RetrieveRelStorageType() const = 0; - // append only table version - virtual Erelaoversion GetRelAOVersion() const = 0; - // distribution policy (none, hash, random) virtual Ereldistrpolicy GetRelDistribution() const = 0; diff --git a/src/backend/gporca/libnaucrates/src/md/CMDRelationGPDB.cpp b/src/backend/gporca/libnaucrates/src/md/CMDRelationGPDB.cpp index ae81a3babd..3294bc00c9 100644 --- a/src/backend/gporca/libnaucrates/src/md/CMDRelationGPDB.cpp +++ b/src/backend/gporca/libnaucrates/src/md/CMDRelationGPDB.cpp @@ -31,7 +31,7 @@ using namespace gpmd; //--------------------------------------------------------------------------- CMDRelationGPDB::CMDRelationGPDB( CMemoryPool *mp, IMDId *mdid, CMDName *mdname, BOOL fTemporary, - Erelstoragetype rel_storage_type, Erelaoversion rel_ao_version, + Erelstoragetype rel_storage_type, Ereldistrpolicy rel_distr_policy, CMDColumnArray *mdcol_array, ULongPtrArray *distr_col_array, IMdIdArray *distr_opfamilies, ULongPtrArray *partition_cols_array, CharPtrArray *str_part_types_array, @@ -44,7 +44,6 @@ CMDRelationGPDB::CMDRelationGPDB( m_mdname(mdname), m_is_temp_table(fTemporary), m_rel_storage_type(rel_storage_type), - m_rel_ao_version(rel_ao_version), m_rel_distr_policy(rel_distr_policy), m_md_col_array(mdcol_array), m_dropped_cols(0), @@ -214,12 +213,6 @@ CMDRelationGPDB::RetrieveRelStorageType() const return m_rel_storage_type; } -IMDRelation::Erelaoversion -CMDRelationGPDB::GetRelAOVersion() const -{ - return m_rel_ao_version; -} - //--------------------------------------------------------------------------- // @function: // CMDRelationGPDB::GetRelDistribution @@ -622,13 +615,6 @@ CMDRelationGPDB::Serialize(CXMLSerializer *xml_serializer) const xml_serializer->AddAttribute( CDXLTokens::GetDXLTokenStr(EdxltokenRelStorageType), IMDRelation::GetStorageTypeStr(m_rel_storage_type)); - if (IsAORowOrColTable() || - IMDRelation::ErelstorageMixedPartitioned == RetrieveRelStorageType()) - { - xml_serializer->AddAttribute( - CDXLTokens::GetDXLTokenStr(EdxltokenRelAppendOnlyVersion), - m_rel_ao_version); - } xml_serializer->AddAttribute( CDXLTokens::GetDXLTokenStr(EdxltokenRelDistrPolicy), GetDistrPolicyStr(m_rel_distr_policy)); @@ -805,8 +791,6 @@ CMDRelationGPDB::DebugPrint(IOstream &os) const << IMDRelation::GetStorageTypeStr(m_rel_storage_type)->GetBuffer() << std::endl; - os << "AO version: " << m_rel_ao_version << std::endl; - os << "Distribution policy: " << GetDistrPolicyStr(m_rel_distr_policy)->GetBuffer() << std::endl; diff --git a/src/backend/gporca/libnaucrates/src/parser/CParseHandlerMDRelation.cpp b/src/backend/gporca/libnaucrates/src/parser/CParseHandlerMDRelation.cpp index 3c80cd9839..9858fbdaee 100644 --- a/src/backend/gporca/libnaucrates/src/parser/CParseHandlerMDRelation.cpp +++ b/src/backend/gporca/libnaucrates/src/parser/CParseHandlerMDRelation.cpp @@ -41,7 +41,6 @@ CParseHandlerMDRelation::CParseHandlerMDRelation( m_mdname(nullptr), m_is_temp_table(false), m_rel_storage_type(IMDRelation::ErelstorageSentinel), - m_rel_ao_version(IMDRelation::AORelationVersion_None), m_rel_distr_policy(IMDRelation::EreldistrSentinel), m_distr_col_array(nullptr), m_convert_hash_to_random(false), @@ -145,19 +144,6 @@ CParseHandlerMDRelation::StartElement(const XMLCh *const element_uri, m_rel_storage_type = CDXLOperatorFactory::ParseRelationStorageType(xmlszStorageType); - // parse ao version - m_rel_ao_version = IMDRelation::AORelationVersion_None; - if (IMDRelation::ErelstorageAppendOnlyCols == m_rel_storage_type || - IMDRelation::ErelstorageAppendOnlyRows == m_rel_storage_type || - IMDRelation::ErelstorageMixedPartitioned == m_rel_storage_type) - { - m_rel_ao_version = (IMDRelation::Erelaoversion) - CDXLOperatorFactory::ExtractConvertAttrValueToUlong( - m_parse_handler_mgr->GetDXLMemoryManager(), attrs, - EdxltokenRelAppendOnlyVersion, EdxltokenRelation, true, - IMDRelation::MaxAORelationVersion - 1); - } - const XMLCh *xmlszPartColumns = attrs.getValue(CDXLTokens::XmlstrToken(EdxltokenPartKeys)); @@ -273,7 +259,7 @@ CParseHandlerMDRelation::EndElement(const XMLCh *const, // element_uri, m_imd_obj = GPOS_NEW(m_mp) CMDRelationGPDB( m_mp, m_mdid, m_mdname, m_is_temp_table, m_rel_storage_type, - m_rel_ao_version, m_rel_distr_policy, md_col_array, m_distr_col_array, + m_rel_distr_policy, md_col_array, m_distr_col_array, distr_opfamilies, m_partition_cols_array, m_str_part_types_array, child_partitions, m_convert_hash_to_random, m_key_sets_arrays, md_index_info_array, mdid_check_constraint_array, m_part_constraint, diff --git a/src/backend/gporca/libnaucrates/src/xml/dxltokens.cpp b/src/backend/gporca/libnaucrates/src/xml/dxltokens.cpp index 514302abc9..4ae1762fe5 100644 --- a/src/backend/gporca/libnaucrates/src/xml/dxltokens.cpp +++ b/src/backend/gporca/libnaucrates/src/xml/dxltokens.cpp @@ -540,7 +540,6 @@ CDXLTokens::Init(CMemoryPool *mp) GPOS_WSZ_LIT("AppendOnly, Column-oriented")}, {EdxltokenRelStorageAppendOnlyRows, GPOS_WSZ_LIT("AppendOnly, Row-oriented")}, - {EdxltokenRelAppendOnlyVersion, GPOS_WSZ_LIT("AppendOnlyVersion")}, {EdxltokenRelStorageMixedPartitioned, GPOS_WSZ_LIT("MixedPartitioned")}, {EdxltokenRelStorageForeign, GPOS_WSZ_LIT("Foreign")}, {EdxltokenRelStorageCompositeType, GPOS_WSZ_LIT("Composite")}, diff --git a/src/backend/gporca/server/src/unittest/CTestUtils.cpp b/src/backend/gporca/server/src/unittest/CTestUtils.cpp index a83596fb4d..8d86c4374f 100644 --- a/src/backend/gporca/server/src/unittest/CTestUtils.cpp +++ b/src/backend/gporca/server/src/unittest/CTestUtils.cpp @@ -221,7 +221,6 @@ CTestUtils::PtabdescPlainWithColNameFormat( mp, mdid, nameTable, false, // convert_hash_to_random IMDRelation::EreldistrRandom, IMDRelation::ErelstorageHeap, - IMDRelation::GetCurrentAOVersion(), 0, // ulExecuteAsUser -1, // lockmode 2, // aclmode SELECT diff --git a/src/backend/gporca/server/src/unittest/dxl/statistics/CStatisticsTest.cpp b/src/backend/gporca/server/src/unittest/dxl/statistics/CStatisticsTest.cpp index 9cea72b698..5a63e2ad42 100644 --- a/src/backend/gporca/server/src/unittest/dxl/statistics/CStatisticsTest.cpp +++ b/src/backend/gporca/server/src/unittest/dxl/statistics/CStatisticsTest.cpp @@ -317,7 +317,6 @@ CStatisticsTest::PtabdescTwoColumnSource(CMemoryPool *mp, nameTable, false, // convert_hash_to_random IMDRelation::EreldistrRandom, IMDRelation::ErelstorageHeap, - IMDRelation::GetCurrentAOVersion(), 0, // ulExecuteAsUser -1, // lockmode 2, // aclmode SELECT diff --git a/src/backend/gporca/server/src/unittest/gpopt/translate/CTranslatorDXLToExprTest.cpp b/src/backend/gporca/server/src/unittest/gpopt/translate/CTranslatorDXLToExprTest.cpp index 911f71fd3c..db1e455de7 100644 --- a/src/backend/gporca/server/src/unittest/gpopt/translate/CTranslatorDXLToExprTest.cpp +++ b/src/backend/gporca/server/src/unittest/gpopt/translate/CTranslatorDXLToExprTest.cpp @@ -253,7 +253,7 @@ public: mp, mdid, CName(&strTableName), convert_hash_to_random, CMDRelationGPDB::EreldistrMasterOnly, CMDRelationGPDB::ErelstorageHeap, - IMDRelation::GetCurrentAOVersion(), ulExecuteAsUser, + ulExecuteAsUser, -1, /* lockmode */ 2, /* aclmode SELECT */ 0 /* UNASSIGNED_QUERYID */); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
