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

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

commit c8344d1a384316ca1e6349325f671bdd0ac25982
Author: Soumyadeep Chakraborty <[email protected]>
AuthorDate: Tue Jul 25 13:59:25 2023 -0700

    Declare ACL mode as a ULONG
    
    Since it is a bitmap of uint32 in the parser (see parsenodes.h), it
    ought to be declared as a ULONG in ORCA (corresponds to uint32_t).
    
    This also rids us of the compiler WARNING:
    
    CTranslatorDXLToPlStmt.cpp:5215:42: warning: comparison of integer 
expressions of different signedness: ‘gpos::INT’ {aka ‘int’} and ‘unsigned int’ 
[-Wsign-compare]
     5215 |                                 acl_mode <= 
std::numeric_limits<AclMode>::max());
          |                                 
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Co-authored-by: Ekta Khanna <[email protected]>
---
 src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp             | 2 +-
 src/backend/gpopt/translate/CTranslatorUtils.cpp                   | 2 +-
 .../gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h      | 6 +++---
 src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp      | 2 +-
 .../libnaucrates/include/naucrates/dxl/operators/CDXLTableDescr.h  | 7 ++++---
 .../gporca/libnaucrates/src/operators/CDXLOperatorFactory.cpp      | 4 ++--
 src/backend/gporca/libnaucrates/src/operators/CDXLTableDescr.cpp   | 7 +++----
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp 
b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
index 7bcd23c6bf..d324c91620 100644
--- a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
+++ b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
@@ -5272,7 +5272,7 @@ CTranslatorDXLToPlStmt::ProcessDXLTblDescr(
                (void) base_table_context->InsertMapping(dxl_col_descr->Id(), 
attno);
        }
 
-       INT acl_mode = table_descr->GetAclMode();
+       ULONG acl_mode = table_descr->GetAclMode();
        GPOS_ASSERT(acl_mode >= 0 &&
                                acl_mode <= 
std::numeric_limits<AclMode>::max());
        AclMode required_perms = static_cast<AclMode>(acl_mode);
diff --git a/src/backend/gpopt/translate/CTranslatorUtils.cpp 
b/src/backend/gpopt/translate/CTranslatorUtils.cpp
index 730e3676f5..cb5e4bcb53 100644
--- a/src/backend/gpopt/translate/CTranslatorUtils.cpp
+++ b/src/backend/gpopt/translate/CTranslatorUtils.cpp
@@ -129,7 +129,7 @@ CTranslatorUtils::GetTableDescr(CMemoryPool *mp, 
CMDAccessor *md_accessor,
        const CWStringConst *tablename = rel->Mdname().GetMDName();
        CMDName *table_mdname = GPOS_NEW(mp) CMDName(mp, tablename);
 
-       INT required_perms = static_cast<INT>(rte->requiredPerms);
+       ULONG required_perms = static_cast<ULONG>(rte->requiredPerms);
        CDXLTableDescr *table_descr = GPOS_NEW(mp) CDXLTableDescr(
                mp, mdid, table_mdname, rte->checkAsUser, rte->rellockmode,
                required_perms, assigned_query_id_for_target_rel);
diff --git 
a/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h 
b/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h
index 1875112369..cb5aa1583f 100644
--- a/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h
+++ b/src/backend/gporca/libgpopt/include/gpopt/metadata/CTableDescriptor.h
@@ -89,7 +89,7 @@ private:
        INT m_lockmode;
 
        // acl mode from the parser
-       INT m_acl_mode;
+       ULONG m_acl_mode;
 
        // identifier of query to which current table belongs.
        // This field is used for assigning current table entry with
@@ -105,7 +105,7 @@ public:
                                         BOOL convert_hash_to_random,
                                         IMDRelation::Ereldistrpolicy 
rel_distr_policy,
                                         IMDRelation::Erelstoragetype 
erelstoragetype,
-                                        ULONG ulExecuteAsUser, INT lockmode, 
INT acl_mode,
+                                        ULONG ulExecuteAsUser, INT lockmode, 
ULONG acl_mode,
                                         ULONG 
assigned_query_id_for_target_rel);
 
        // dtor
@@ -154,7 +154,7 @@ public:
                return m_lockmode;
        }
 
-       INT
+       ULONG
        GetAclMode() const
        {
                return m_acl_mode;
diff --git a/src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp 
b/src/backend/gporca/libgpopt/src/metadata/CTableDescriptor.cpp
index 580a7cfdea..afa97e5ca1 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, ULONG ulExecuteAsUser,
-       INT lockmode, INT acl_mode, ULONG assigned_query_id_for_target_rel)
+       INT lockmode, ULONG acl_mode, ULONG assigned_query_id_for_target_rel)
        : m_mp(mp),
          m_mdid(mdid),
          m_name(mp, name),
diff --git 
a/src/backend/gporca/libnaucrates/include/naucrates/dxl/operators/CDXLTableDescr.h
 
b/src/backend/gporca/libnaucrates/include/naucrates/dxl/operators/CDXLTableDescr.h
index b196e4aa9d..84e56d4351 100644
--- 
a/src/backend/gporca/libnaucrates/include/naucrates/dxl/operators/CDXLTableDescr.h
+++ 
b/src/backend/gporca/libnaucrates/include/naucrates/dxl/operators/CDXLTableDescr.h
@@ -20,6 +20,7 @@
 #include "naucrates/md/CMDName.h"
 #include "naucrates/md/IMDId.h"
 
+#define GPDXL_ACL_UNDEFINED (gpos::ulong_max)
 // default value for m_assigned_query_id_for_target_rel - no assigned query 
for table descriptor
 #define UNASSIGNED_QUERYID 0
 
@@ -54,7 +55,7 @@ private:
        INT m_lockmode;
 
        // acl mode from the parser
-       INT m_acl_mode;
+       ULONG m_acl_mode;
 
        // identifier of query to which current table belongs.
        // This field is used for assigning current table entry with
@@ -69,7 +70,7 @@ public:
 
        // ctor/dtor
        CDXLTableDescr(CMemoryPool *mp, IMDId *mdid, CMDName *mdname,
-                                  ULONG ulExecuteAsUser, int lockmode, INT 
acl_mode,
+                                  ULONG ulExecuteAsUser, int lockmode, ULONG 
acl_mode,
                                   ULONG assigned_query_id_for_target_rel = 
UNASSIGNED_QUERYID);
 
        ~CDXLTableDescr() override;
@@ -95,7 +96,7 @@ public:
        INT LockMode() const;
 
        // acl mode
-       INT GetAclMode() const;
+       ULONG GetAclMode() const;
 
        // get the column descriptor at the given position
        const CDXLColDescr *GetColumnDescrAt(ULONG idx) const;
diff --git 
a/src/backend/gporca/libnaucrates/src/operators/CDXLOperatorFactory.cpp 
b/src/backend/gporca/libnaucrates/src/operators/CDXLOperatorFactory.cpp
index 7541e19214..1e1be45907 100644
--- a/src/backend/gporca/libnaucrates/src/operators/CDXLOperatorFactory.cpp
+++ b/src/backend/gporca/libnaucrates/src/operators/CDXLOperatorFactory.cpp
@@ -1526,9 +1526,9 @@ CDXLOperatorFactory::MakeDXLTableDescr(CDXLMemoryManager 
*dxl_memory_manager,
                dxl_memory_manager, attrs, EdxltokenLockMode, 
EdxltokenTableDescr,
                true /* is_optional */, -1);
 
-       INT acl_mode = ExtractConvertAttrValueToInt(
+       ULONG acl_mode = ExtractConvertAttrValueToUlong(
                dxl_memory_manager, attrs, EdxltokenAclMode, 
EdxltokenTableDescr,
-               true /* is_optional */, -1);
+               true /* is_optional */, GPDXL_ACL_UNDEFINED);
 
        if (nullptr != execute_as_user_xml)
        {
diff --git a/src/backend/gporca/libnaucrates/src/operators/CDXLTableDescr.cpp 
b/src/backend/gporca/libnaucrates/src/operators/CDXLTableDescr.cpp
index 55e1fc421d..e2a04aef98 100644
--- a/src/backend/gporca/libnaucrates/src/operators/CDXLTableDescr.cpp
+++ b/src/backend/gporca/libnaucrates/src/operators/CDXLTableDescr.cpp
@@ -21,7 +21,6 @@ using namespace gpdxl;
 
 #define GPDXL_DEFAULT_USERID 0
 #define GPDXL_INVALID_LOCKMODE -1
-#define GPDXL_ACL_NO_RIGHTS 0
 
 //---------------------------------------------------------------------------
 //     @function:
@@ -33,7 +32,7 @@ using namespace gpdxl;
 //---------------------------------------------------------------------------
 CDXLTableDescr::CDXLTableDescr(CMemoryPool *mp, IMDId *mdid, CMDName *mdname,
                                                           ULONG 
ulExecuteAsUser, int lockmode,
-                                                          INT acl_mode,
+                                                          ULONG acl_mode,
                                                           ULONG 
assigned_query_id_for_target_rel)
        : m_mdid(mdid),
          m_mdname(mdname),
@@ -128,7 +127,7 @@ CDXLTableDescr::LockMode() const
        return m_lockmode;
 }
 
-INT
+ULONG
 CDXLTableDescr::GetAclMode() const
 {
        return m_acl_mode;
@@ -229,7 +228,7 @@ CDXLTableDescr::SerializeToDXL(CXMLSerializer 
*xml_serializer) const
                        CDXLTokens::GetDXLTokenStr(EdxltokenLockMode), 
LockMode());
        }
 
-       if (GPDXL_ACL_NO_RIGHTS <= GetAclMode())
+       if (GPDXL_ACL_UNDEFINED != GetAclMode())
        {
                xml_serializer->AddAttribute(
                        CDXLTokens::GetDXLTokenStr(EdxltokenAclMode), 
GetAclMode());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to