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

chenjinbao1989 pushed a commit to branch cbdb-postgres-merge
in repository https://gitbox.apache.org/repos/asf/cloudberry.git


The following commit(s) were added to refs/heads/cbdb-postgres-merge by this 
push:
     new 9cd0140f2d5 Fix some conflict for utils/cache
9cd0140f2d5 is described below

commit 9cd0140f2d553ff4f7ab31e12fa38edc452a49a2
Author: Jinbao Chen <[email protected]>
AuthorDate: Mon Sep 8 09:12:15 2025 +0800

    Fix some conflict for utils/cache
---
 src/backend/utils/cache/relcache.c | 146 +-------------------------
 src/backend/utils/cache/syscache.c | 205 +++++++++++--------------------------
 2 files changed, 62 insertions(+), 289 deletions(-)

diff --git a/src/backend/utils/cache/relcache.c 
b/src/backend/utils/cache/relcache.c
index 321b14dd20d..f99d2fc5ce4 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -3,13 +3,9 @@
  * relcache.c
  *       POSTGRES relation descriptor cache code
  *
-<<<<<<< HEAD
  * Portions Copyright (c) 2005-2009, Greenplum inc.
  * Portions Copyright (c) 2012-Present VMware, Inc. or its affiliates.
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
-=======
  * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group
->>>>>>> REL_16_9
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
@@ -1230,41 +1226,6 @@ retry:
        /*
         * initialize access method information
         */
-<<<<<<< HEAD
-       switch (relation->rd_rel->relkind)
-       {
-               case RELKIND_INDEX:
-               case RELKIND_PARTITIONED_INDEX:
-                       Assert(relation->rd_rel->relam != InvalidOid);
-                       RelationInitIndexAccessInfo(relation);
-                       break;
-               case RELKIND_RELATION:
-               case RELKIND_TOASTVALUE:
-               case RELKIND_MATVIEW:
-               case RELKIND_DIRECTORY_TABLE:
-                       Assert(relation->rd_rel->relam != InvalidOid);
-                       RelationInitTableAccessMethod(relation);
-                       break;
-               case RELKIND_SEQUENCE:
-                       Assert(relation->rd_rel->relam == InvalidOid);
-                       RelationInitTableAccessMethod(relation);
-                       break;
-               case RELKIND_VIEW:
-               case RELKIND_COMPOSITE_TYPE:
-               case RELKIND_FOREIGN_TABLE:
-                       Assert(relation->rd_rel->relam == InvalidOid);
-                       break;
-               case RELKIND_PARTITIONED_TABLE:
-                       /* gp partition tables may set access method for its 
children */
-                       break;
-               case RELKIND_AOSEGMENTS:
-               case RELKIND_AOVISIMAP:
-               case RELKIND_AOBLOCKDIR:
-                       Assert(relation->rd_rel->relam != InvalidOid);
-                       RelationInitTableAccessMethod(relation);
-                       break;
-       }
-=======
        if (relation->rd_rel->relkind == RELKIND_INDEX ||
                relation->rd_rel->relkind == RELKIND_PARTITIONED_INDEX)
                RelationInitIndexAccessInfo(relation);
@@ -1273,7 +1234,6 @@ retry:
                RelationInitTableAccessMethod(relation);
        else
                Assert(relation->rd_rel->relam == InvalidOid);
->>>>>>> REL_16_9
 
        /*
         * If it's an append-only table, get information from pg_appendonly.
@@ -1402,11 +1362,7 @@ retry:
 static void
 RelationInitPhysicalAddr(Relation relation)
 {
-<<<<<<< HEAD
-       Oid             oldnode = relation->rd_node.relNode;
-=======
        RelFileNumber oldnumber = relation->rd_locator.relNumber;
->>>>>>> REL_16_9
 
        /* these relations kinds never have storage */
        if (!RELKIND_HAS_STORAGE(relation->rd_rel->relkind))
@@ -2838,9 +2794,6 @@ RelationClearRelation(Relation relation, bool rebuild)
                        elog(ERROR, "relation %u deleted while still in use", 
save_relid);
                }
 
-<<<<<<< HEAD
-               keep_tupdesc = equalTupleDescs(relation->rd_att, 
newrel->rd_att, true);
-=======
                /*
                 * If we were to, again, have cases of the relkind of a 
relcache entry
                 * changing, we would need to ensure that pgstats does not get
@@ -2848,8 +2801,7 @@ RelationClearRelation(Relation relation, bool rebuild)
                 */
                Assert(relation->rd_rel->relkind == newrel->rd_rel->relkind);
 
-               keep_tupdesc = equalTupleDescs(relation->rd_att, 
newrel->rd_att);
->>>>>>> REL_16_9
+               keep_tupdesc = equalTupleDescs(relation->rd_att, 
newrel->rd_att, true);
                keep_rules = equalRuleLocks(relation->rd_rules, 
newrel->rd_rules);
                keep_gp_policy = GpPolicyEqual(relation->rd_cdbpolicy, 
newrel->rd_cdbpolicy);
                keep_policies = equalRSDesc(relation->rd_rsdesc, 
newrel->rd_rsdesc);
@@ -3087,11 +3039,7 @@ RelationCacheInvalidateEntry(Oid relationId)
  *
  *      Apart from debug_discard_caches, this is currently used only to recover
  *      from SI message buffer overflow, so we do not touch relations having
-<<<<<<< HEAD
- *      new-in-transaction relfilenodes; they cannot be targets of 
cross-backend
-=======
  *      new-in-transaction relfilenumbers; they cannot be targets of 
cross-backend
->>>>>>> REL_16_9
  *      SI updates (and our own updates now go through a separate linked list
  *      that isn't limited by the SI message buffer size).
  *
@@ -3839,7 +3787,6 @@ RelationBuildLocalRelation(const char *relname,
 
        /*
         * Insert relation physical and logical identifiers (OIDs) into the 
right
-<<<<<<< HEAD
         * places.  For a mapped relation, we set relfilenode to zero and rely 
on
         * RelationInitPhysicalAddr to consult the map.
         *
@@ -3848,10 +3795,6 @@ RelationBuildLocalRelation(const char *relname,
         *
         * In binary upgrade mode, however, use the OID also as the relfilenode.
         * pg_upgrade gets confused if they don't match.
-=======
-        * places.  For a mapped relation, we set relfilenumber to zero and rely
-        * on RelationInitPhysicalAddr to consult the map.
->>>>>>> REL_16_9
         */
        rel->rd_rel->relisshared = shared_relation;
 
@@ -3907,20 +3850,7 @@ RelationBuildLocalRelation(const char *relname,
         */
        MemoryContextSwitchTo(oldcxt);
 
-<<<<<<< HEAD
-       if (relkind == RELKIND_RELATION ||
-               relkind == RELKIND_DIRECTORY_TABLE ||
-               relkind == RELKIND_SEQUENCE ||
-               relkind == RELKIND_TOASTVALUE ||
-               relkind == RELKIND_MATVIEW)
-=======
        if (RELKIND_HAS_TABLE_AM(relkind) || relkind == RELKIND_SEQUENCE)
->>>>>>> REL_16_9
-               RelationInitTableAccessMethod(rel);
-
-       if (relkind == RELKIND_AOSEGMENTS ||
-               relkind == RELKIND_AOVISIMAP ||
-               relkind == RELKIND_AOBLOCKDIR)
                RelationInitTableAccessMethod(rel);
 
        /*
@@ -3969,11 +3899,7 @@ RelationBuildLocalRelation(const char *relname,
 void
 RelationSetNewRelfilenumber(Relation relation, char persistence)
 {
-<<<<<<< HEAD
-       Oid newrelfilenode;
-=======
        RelFileNumber newrelfilenumber;
->>>>>>> REL_16_9
        Relation        pg_class;
        ItemPointerData otid;
        HeapTuple       tuple;
@@ -4082,37 +4008,6 @@ RelationSetNewRelfilenumber(Relation relation, char 
persistence)
                /* handle these directly, at least for now */
                SMgrRelation srel;
 
-<<<<<<< HEAD
-                               srel = RelationCreateStorage(newrnode, 
persistence,
-                                                                               
         0 /* default storage implementation */,
-                                                                               
         relation);
-                               smgrclose(srel);
-                       }
-                       break;
-
-               case RELKIND_RELATION:
-               case RELKIND_TOASTVALUE:
-               case RELKIND_MATVIEW:
-               case RELKIND_DIRECTORY_TABLE:
-                       table_relation_set_new_filenode(relation, &newrnode,
-                                                                               
        persistence,
-                                                                               
        &freezeXid, &minmulti);
-                       break;
-
-               case RELKIND_AOSEGMENTS:
-               case RELKIND_AOVISIMAP:
-               case RELKIND_AOBLOCKDIR:
-                       table_relation_set_new_filenode(relation, &newrnode,
-                                                                               
        persistence,
-                                                                               
        &freezeXid, &minmulti);
-                       break;
-
-               default:
-                       /* we shouldn't be called for anything else */
-                       elog(ERROR, "relation \"%s\" does not have storage",
-                                RelationGetRelationName(relation));
-                       break;
-=======
                srel = RelationCreateStorage(newrlocator, persistence, true);
                smgrclose(srel);
        }
@@ -4121,7 +4016,6 @@ RelationSetNewRelfilenumber(Relation relation, char 
persistence)
                /* we shouldn't be called for anything else */
                elog(ERROR, "relation \"%s\" does not have storage",
                         RelationGetRelationName(relation));
->>>>>>> REL_16_9
        }
 
        /*
@@ -4597,26 +4491,7 @@ RelationCacheInitializePhase3(void)
 
                /* Reload tableam data if needed */
                if (relation->rd_tableam == NULL &&
-<<<<<<< HEAD
-                       (relation->rd_rel->relkind == RELKIND_RELATION ||
-                        relation->rd_rel->relkind == RELKIND_SEQUENCE ||
-                        relation->rd_rel->relkind == RELKIND_TOASTVALUE ||
-                        relation->rd_rel->relkind == RELKIND_MATVIEW ||
-                        relation->rd_rel->relkind == RELKIND_DIRECTORY_TABLE))
-               {
-                       RelationInitTableAccessMethod(relation);
-                       Assert(relation->rd_tableam != NULL);
-
-                       restart = true;
-               }
-
-               if (relation->rd_tableam == NULL &&
-                       (relation->rd_rel->relkind == RELKIND_AOSEGMENTS ||
-                        relation->rd_rel->relkind == RELKIND_AOBLOCKDIR ||
-                        relation->rd_rel->relkind == RELKIND_AOVISIMAP))
-=======
                        (RELKIND_HAS_TABLE_AM(relation->rd_rel->relkind) || 
relation->rd_rel->relkind == RELKIND_SEQUENCE))
->>>>>>> REL_16_9
                {
                        RelationInitTableAccessMethod(relation);
                        Assert(relation->rd_tableam != NULL);
@@ -6644,20 +6519,7 @@ load_relcache_init_file(bool shared)
                                nailed_rels++;
 
                        /* Load table AM data */
-<<<<<<< HEAD
-                       if (rel->rd_rel->relkind == RELKIND_RELATION ||
-                               rel->rd_rel->relkind == RELKIND_DIRECTORY_TABLE 
||
-                               rel->rd_rel->relkind == RELKIND_SEQUENCE ||
-                               rel->rd_rel->relkind == RELKIND_TOASTVALUE ||
-                               rel->rd_rel->relkind == RELKIND_MATVIEW)
-=======
                        if (RELKIND_HAS_TABLE_AM(rel->rd_rel->relkind) || 
rel->rd_rel->relkind == RELKIND_SEQUENCE)
->>>>>>> REL_16_9
-                               RelationInitTableAccessMethod(rel);
-
-                       if (rel->rd_rel->relkind == RELKIND_AOSEGMENTS ||
-                               rel->rd_rel->relkind == RELKIND_AOVISIMAP ||
-                               rel->rd_rel->relkind == RELKIND_AOBLOCKDIR)
                                RelationInitTableAccessMethod(rel);
 
                        Assert(rel->rd_index == NULL);
@@ -6728,12 +6590,8 @@ load_relcache_init_file(bool shared)
                rel->rd_firstRelfilelocatorSubid = InvalidSubTransactionId;
                rel->rd_droppedSubid = InvalidSubTransactionId;
                rel->rd_amcache = NULL;
-<<<<<<< HEAD
-               MemSet(&rel->pgstat_info, 0, sizeof(rel->pgstat_info));
-        rel->rd_cdbpolicy = NULL;
-=======
                rel->pgstat_info = NULL;
->>>>>>> REL_16_9
+        rel->rd_cdbpolicy = NULL;
 
                /*
                 * Recompute lock and physical addressing info.  This is needed 
in
diff --git a/src/backend/utils/cache/syscache.c 
b/src/backend/utils/cache/syscache.c
index 7000b1f8ba5..65c20bde39e 100644
--- a/src/backend/utils/cache/syscache.c
+++ b/src/backend/utils/cache/syscache.c
@@ -392,34 +392,20 @@ static const struct cachedesc cacheinfo[] = {
                KEY(Anum_pg_foreign_table_ftrelid),
                4
        },
-<<<<<<< HEAD
-       {GpPolicyRelationId,    /* GPPOLICYID */
+       [GPPOLICYID] = {
+               GpPolicyRelationId,
                GpPolicyLocalOidIndexId,
-               1,
-               {
-                       Anum_gp_distribution_policy_localoid,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_gp_distribution_policy_localoid),
                1024
        },
-       {AppendOnlyRelationId,  /* AORELID */
+       [AORELID] = {
+               AppendOnlyRelationId,
                AppendOnlyRelidIndexId,
-               1,
-               {
-                       Anum_pg_appendonly_relid,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_pg_appendonly_relid),
                1024
        },
-       {IndexRelationId,                       /* INDEXRELID */
-=======
        [INDEXRELID] = {
                IndexRelationId,
->>>>>>> REL_16_9
                IndexRelidIndexId,
                KEY(Anum_pg_index_indexrelid),
                64
@@ -495,34 +481,20 @@ static const struct cachedesc cacheinfo[] = {
                KEY(Anum_pg_partitioned_table_partrelid),
                32
        },
-<<<<<<< HEAD
-       {ProfileRelationId,             /* PROFILEID */
+       [PROFILEID] = {
+               ProfileRelationId,
                ProfileOidIndexId,
-               1,
-               {
-                       Anum_pg_profile_oid,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_pg_profile_oid),
                8
        },
-       {ProfileRelationId,             /* PROFILENAME */
+       [PROFILENAME] = {
+               ProfileRelationId,
                ProfilePrfnameIndexId,
-               1,
-               {
-                       Anum_pg_profile_prfname,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_pg_profile_prfname),
                8
        },
-       {ProcedureRelationId,           /* PROCNAMEARGSNSP */
-=======
        [PROCNAMEARGSNSP] = {
                ProcedureRelationId,
->>>>>>> REL_16_9
                ProcedureNameArgsNspIndexId,
                KEY(Anum_pg_proc_proname,
                        Anum_pg_proc_proargtypes,
@@ -610,34 +582,20 @@ static const struct cachedesc cacheinfo[] = {
                KEY(Anum_pg_replication_origin_roname),
                16
        },
-<<<<<<< HEAD
-       {ResGroupRelationId,            /* RESGROUPOID */
+       [RESGROUPOID] = {
+               ResGroupRelationId,
                ResGroupOidIndexId,
-               1,
-               {
-                       Anum_pg_resgroup_oid,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_pg_resgroup_oid),
                128
        },
-       {ResGroupRelationId,            /* RESGROUPNAME */
-               ResGroupRsgnameIndexId,
-               1,
-               {
-                       Anum_pg_resgroup_rsgname,
-                       0,
-                       0,
-                       0
-               },
-               128
+       [RESGROUPNAME] = {
+                       ResGroupRelationId,
+                       ResGroupRsgnameIndexId,
+                       KEY(Anum_pg_resgroup_rsgname),
+                       128
        },
-       {RewriteRelationId,                     /* RULERELNAME */
-=======
        [RULERELNAME] = {
                RewriteRelationId,
->>>>>>> REL_16_9
                RewriteRelRulenameIndexId,
                KEY(Anum_pg_rewrite_ev_class,
                        Anum_pg_rewrite_rulename),
@@ -703,45 +661,29 @@ static const struct cachedesc cacheinfo[] = {
                KEY(Anum_pg_tablespace_oid),
                4
        },
-<<<<<<< HEAD
-       {TagRelationId,                         /* TAGNAME */
+       [TAGNAME] = {
+               TagRelationId,
                TagNameIndexId,
-               1,
-               {
-                       Anum_pg_tag_tagname,
-                       0,
-                       0,
-                       0,
-               },
-               16
-       },
-       {TagRelationId,                         /* TAGOID */
-               TagOidIndexId,
-               1,
-               {
-                       Anum_pg_tag_oid,
-                       0,
-                       0,
-                       0,
-               },
+               KEY(Anum_pg_tag_tagname),
                16
        },
-       {TagDescriptionRelationId,      /* TAGDESCRIPTION */
-               TagDescriptionIndexId,
-               4,
-               {
-                       Anum_pg_tag_description_tddatabaseid,
-                       Anum_pg_tag_description_tdclassid,
-                       Anum_pg_tag_description_tdobjid,
-                       Anum_pg_tag_description_tagid,
-               },
-               16
+       [TAGOID] = {
+                       TagRelationId,
+                       TagOidIndexId,
+                       KEY(Anum_pg_tag_oid),
+                       16
+       },
+       [TAGDESCRIPTION] = {
+                       TagDescriptionRelationId,
+                       TagDescriptionIndexId,
+                       KEY(Anum_pg_tag_description_tddatabaseid,
+                               Anum_pg_tag_description_tdclassid,
+                               Anum_pg_tag_description_tdobjid,
+                               Anum_pg_tag_description_tagid),
+                       16
        },
-       {TransformRelationId,           /* TRFOID */
-=======
        [TRFOID] = {
                TransformRelationId,
->>>>>>> REL_16_9
                TransformOidIndexId,
                KEY(Anum_pg_transform_oid),
                16
@@ -826,67 +768,40 @@ static const struct cachedesc cacheinfo[] = {
                KEY(Anum_pg_type_oid),
                64
        },
-<<<<<<< HEAD
-       {DirectoryTableRelationId,                      /* DIRECTORYTABLEREL */
+       [DIRECTORYTABLEREL] = {
+               DirectoryTableRelationId,
                DirectoryTableRelidIndexId,
-               1,
-               {
-                       Anum_pg_directory_table_dtrelid,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_pg_directory_table_dtrelid),
                4
        },
-       {StorageUserMappingRelationId,          /* STORAGEUSERMAPPINGOID */
-               StorageUserMappingOidIndexId,
-               1,
-               {
-                       Anum_gp_storage_user_mapping_oid,
-                       0,
-                       0,
-                       0
-               },
-               2
-       },
-       {StorageUserMappingRelationId,          /* STORAGEUSERMAPPINGUSERSERVER 
*/
-               StorageUserMappingServerIndexId,
-               2,
-               {
-                       Anum_gp_storage_user_mapping_umuser,
-                       Anum_gp_storage_user_mapping_umserver,
-                       0,
-                       0
-               },
-               2
-       },
-       {GpMatviewAuxId,                /* MVAUXOID */
+       [STORAGEUSERMAPPINGOID] = {
+               StorageUserMappingRelationId,
+               StorageUserMappingOidIndexId,
+               KEY(Anum_gp_storage_user_mapping_oid),
+               2
+       },
+       [STORAGEUSERMAPPINGUSERSERVER] = {
+               StorageUserMappingRelationId,
+               StorageUserMappingServerIndexId,
+               KEY(Anum_gp_storage_user_mapping_umuser,
+               Anum_gp_storage_user_mapping_umserver),
+               2
+       },
+       [MVAUXOID] = {
+               GpMatviewAuxId,
                GpMatviewAuxMvoidIndexId,
-               1,
-               {
-                       Anum_gp_matview_aux_mvoid,
-                       0,
-                       0,
-                       0
-               },
+               KEY(Anum_gp_matview_aux_mvoid),
                32
        },
-       {GpMatviewTablesId,             /* MVTABLESMVRELOID */
+       [MVTABLESMVRELOID] = {
+               GpMatviewTablesId,
                GpMatviewTablesMvRelIndexId,
-               2,
-               {
-                       Anum_gp_matview_tables_mvoid,
-                       Anum_gp_matview_tables_relid,
-                       0,
-                       0
-               },
+               KEY(Anum_gp_matview_tables_mvoid,
+                       Anum_gp_matview_tables_relid),
                128
        },
-       {UserMappingRelationId,         /* USERMAPPINGOID */
-=======
        [USERMAPPINGOID] = {
                UserMappingRelationId,
->>>>>>> REL_16_9
                UserMappingOidIndexId,
                KEY(Anum_pg_user_mapping_oid),
                2


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

Reply via email to