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 6ccf1292f6c Fix compile errors for cdb 6ccf1292f6c is described below commit 6ccf1292f6c87726468b014ba391d3367838e756 Author: Jinbao Chen <chenjinbao1...@gmail.com> AuthorDate: Thu Oct 2 22:35:54 2025 +0800 Fix compile errors for cdb --- src/backend/cdb/cdbappendonlyxlog.c | 18 +++++++++--------- src/backend/cdb/cdbcopy.c | 3 --- src/backend/cdb/cdbgroupingpaths.c | 17 ++++++++--------- src/backend/cdb/cdblegacyhash.c | 1 + src/backend/cdb/cdbmutate.c | 7 +------ src/backend/cdb/cdbpath.c | 9 +++++---- src/backend/cdb/cdbpathlocus.c | 2 -- src/backend/cdb/cdbplan.c | 2 +- src/backend/cdb/cdbrelsize.c | 3 +-- src/backend/cdb/cdbsubselect.c | 2 +- src/backend/cdb/cdbtargeteddispatch.c | 1 - src/backend/cdb/cdbtm.c | 1 - src/backend/cdb/cdbvarblock.c | 8 ++++---- src/backend/crypto/bufenc.c | 8 ++++---- src/backend/storage/smgr/md.c | 2 +- src/backend/storage/smgr/smgr.c | 10 +++++----- src/include/access/aomd.h | 2 +- src/include/cdb/cdbplan.h | 2 +- src/include/cdb/cdbvarblock.h | 2 +- src/include/crypto/bufenc.h | 4 ++-- src/include/storage/smgr.h | 2 +- 21 files changed, 47 insertions(+), 59 deletions(-) diff --git a/src/backend/cdb/cdbappendonlyxlog.c b/src/backend/cdb/cdbappendonlyxlog.c index 722bfcd8c2a..55678f33702 100644 --- a/src/backend/cdb/cdbappendonlyxlog.c +++ b/src/backend/cdb/cdbappendonlyxlog.c @@ -34,7 +34,7 @@ * This is also used with 0 length, to mark creation of a new segfile. */ void -xlog_ao_insert(RelFileNode relFileNode, int32 segmentFileNum, +xlog_ao_insert(RelFileLocator relFileNode, int32 segmentFileNum, int64 offset, void *buffer, int32 bufferLen) { xl_ao_insert xlaoinsert; @@ -75,13 +75,13 @@ ao_insert_replay(XLogReaderState *record) */ smgr = smgropen(xlrec->target.node, InvalidBackendId, SMGR_AO, NULL); - dbPath = GetDatabasePath(xlrec->target.node.dbNode, - xlrec->target.node.spcNode); + dbPath = GetDatabasePath(xlrec->target.node.dbOid, + xlrec->target.node.spcOid); if (xlrec->target.segment_filenum == 0) - snprintf(path, MAXPGPATH, "%s/%u", dbPath, xlrec->target.node.relNode); + snprintf(path, MAXPGPATH, "%s/%u", dbPath, xlrec->target.node.relNumber); else - snprintf(path, MAXPGPATH, "%s/%u.%u", dbPath, xlrec->target.node.relNode, xlrec->target.segment_filenum); + snprintf(path, MAXPGPATH, "%s/%u.%u", dbPath, xlrec->target.node.relNumber, xlrec->target.segment_filenum); pfree(dbPath); fileFlags = O_RDWR | PG_BINARY; @@ -147,13 +147,13 @@ ao_truncate_replay(XLogReaderState *record) */ smgr = smgropen(xlrec->target.node, InvalidBackendId, SMGR_AO, NULL); - dbPath = GetDatabasePath(xlrec->target.node.dbNode, - xlrec->target.node.spcNode); + dbPath = GetDatabasePath(xlrec->target.node.dbOid, + xlrec->target.node.spcOid); if (xlrec->target.segment_filenum == 0) - snprintf(path, MAXPGPATH, "%s/%u", dbPath, xlrec->target.node.relNode); + snprintf(path, MAXPGPATH, "%s/%u", dbPath, xlrec->target.node.relNumber); else - snprintf(path, MAXPGPATH, "%s/%u.%u", dbPath, xlrec->target.node.relNode, xlrec->target.segment_filenum); + snprintf(path, MAXPGPATH, "%s/%u.%u", dbPath, xlrec->target.node.relNumber, xlrec->target.segment_filenum); pfree(dbPath); dbPath = NULL; diff --git a/src/backend/cdb/cdbcopy.c b/src/backend/cdb/cdbcopy.c index 9da82d0cb3d..3676d1adfbc 100644 --- a/src/backend/cdb/cdbcopy.c +++ b/src/backend/cdb/cdbcopy.c @@ -450,7 +450,6 @@ cdbCopyEndInternal(CdbCopy *c, char *abort_msg, struct pollfd *pollRead; bool io_errors = false; StringInfoData io_err_msg; - List *oidList = NIL; int nest_level; SIMPLE_FAULT_INJECTOR("cdb_copy_end_internal_start"); @@ -577,8 +576,6 @@ cdbCopyEndInternal(CdbCopy *c, char *abort_msg, first_error = cdbdisp_get_PQerror(res); } - pgstat_combine_one_qe_result(&oidList, res, nest_level, q->segindex); - if (q->conn->wrote_xlog) { MarkTopTransactionWriteXLogOnExecutor(); diff --git a/src/backend/cdb/cdbgroupingpaths.c b/src/backend/cdb/cdbgroupingpaths.c index a54c6452471..cafd6955dce 100644 --- a/src/backend/cdb/cdbgroupingpaths.c +++ b/src/backend/cdb/cdbgroupingpaths.c @@ -510,14 +510,14 @@ cdb_create_multistage_grouping_paths(PlannerInfo *root, * removing the origin plan's aggfilter can work around * this problem. We'll look at it again later. */ - ListCell *lc; - foreach(lc, root->agginfos) - { - AggInfo *agginfo = (AggInfo *) lfirst(lc); - Aggref *aggref = agginfo->representative_aggref; - if (aggref->aggdistinct != NIL) - aggref->aggfilter = NULL; - } +// ListCell *lc; +// foreach(lc, root->agginfos) +// { +// AggInfo *agginfo = (AggInfo *) lfirst(lc); +// Aggref *aggref = agginfo->representative_aggref; +// if (aggref->aggdistinct != NIL) +// aggref->aggfilter = NULL; +// } add_multi_dqas_hash_agg_path(root, cheapest_path, &ctx, @@ -1913,7 +1913,6 @@ get_common_group_tles(PathTarget *target, if (rollups) { - ListCell *lc; bool first = true; foreach(lc, rollups) diff --git a/src/backend/cdb/cdblegacyhash.c b/src/backend/cdb/cdblegacyhash.c index 98f6ecd61f0..28e8f2bda3f 100644 --- a/src/backend/cdb/cdblegacyhash.c +++ b/src/backend/cdb/cdblegacyhash.c @@ -16,6 +16,7 @@ * *-------------------------------------------------------------------------- */ +#include <sys/socket.h> #include "postgres.h" #include "cdb/cdbhash.h" diff --git a/src/backend/cdb/cdbmutate.c b/src/backend/cdb/cdbmutate.c index 9672ce25b59..c8537be4c72 100644 --- a/src/backend/cdb/cdbmutate.c +++ b/src/backend/cdb/cdbmutate.c @@ -622,9 +622,6 @@ create_shareinput_producer_rte(ApplyShareInputContext *ctxt, int share_id, rte->inh = false; rte->inFromCl = false; - rte->requiredPerms = 0; - rte->checkAsUser = InvalidOid; - return rte; } @@ -1208,7 +1205,6 @@ param_walker(Node *node, ParamWalkerContext *context) list_length(aggref->args) == 1) { TargetEntry *curTarget = (TargetEntry *) linitial(aggref->args); - ListCell *lc; foreach(lc, root->minmax_aggs) { @@ -1232,7 +1228,6 @@ param_walker(Node *node, ParamWalkerContext *context) case T_SubPlan: { - PlannerInfo *root = (PlannerInfo *) context->base.node; SubPlan *spexpr = (SubPlan *) node; Plan *subplan_plan = planner_subplan_get_plan(root, spexpr); PlannerInfo *subplan_root = planner_subplan_get_root(root, spexpr); @@ -1857,7 +1852,7 @@ cdbpathtoplan_create_sri_plan(RangeTblEntry *rte, PlannerInfo *subroot, Path *su targetPolicy->nattrs, targetPolicy->attrs); hashOpfamilies = NIL; - for (int i = 0; i < targetPolicy->nattrs; i++) + for (i = 0; i < targetPolicy->nattrs; i++) { Oid opfamily = get_opclass_family(targetPolicy->opclasses[i]); diff --git a/src/backend/cdb/cdbpath.c b/src/backend/cdb/cdbpath.c index e6b60509342..4aef9a94280 100644 --- a/src/backend/cdb/cdbpath.c +++ b/src/backend/cdb/cdbpath.c @@ -579,6 +579,7 @@ cdbpath_create_motion_path(PlannerInfo *root, newSubqueryScanPath = create_subqueryscan_path(root, subqueryScanPath->path.parent, motionPath, + false, subqueryScanPath->path.pathkeys, locus, subqueryScanPath->required_outer); @@ -1107,11 +1108,11 @@ cdbpath_match_preds_to_both_distkeys(PlannerInfo *root, /* Skip predicate if neither side matches inner distkey item. */ if (inner_dk != outer_dk) { - ListCell *i; + ListCell *k; - foreach(i, inner_dk->dk_eclasses) + foreach(k, inner_dk->dk_eclasses) { - EquivalenceClass *inner_ec = (EquivalenceClass *) lfirst(i); + EquivalenceClass *inner_ec = (EquivalenceClass *) lfirst(k); if (inner_ec != rinfo->left_ec && inner_ec != rinfo->right_ec) { @@ -2246,7 +2247,7 @@ cdbpath_motion_for_join(PlannerInfo *root, * only if there is no wts on either rels*/ else if (!outer.has_wts && !inner.has_wts) { - int numsegments = CdbPathLocus_CommonSegments(outer.locus, + numsegments = CdbPathLocus_CommonSegments(outer.locus, inner.locus); CdbPathLocus_MakeSingleQE(&outer.move_to, numsegments); CdbPathLocus_MakeSingleQE(&inner.move_to, numsegments); diff --git a/src/backend/cdb/cdbpathlocus.c b/src/backend/cdb/cdbpathlocus.c index 04fba4b367a..b765c742e0d 100644 --- a/src/backend/cdb/cdbpathlocus.c +++ b/src/backend/cdb/cdbpathlocus.c @@ -180,7 +180,6 @@ cdb_build_distribution_keys(PlannerInfo *root, Index rti, GpPolicy *policy) mergeopfamilies = get_mergejoin_opfamilies(eqopoid); eclass = get_eclass_for_sort_expr(root, (Expr *) expr, - NULL, /* nullable_relids */ /* GPDB_94_MERGE_FIXME: is NULL ok here? */ mergeopfamilies, opcintype, exprCollation((Node *) expr), @@ -283,7 +282,6 @@ cdbpathlocus_for_insert(PlannerInfo *root, GpPolicy *policy, mergeopfamilies = get_mergejoin_opfamilies(eqopoid); eclass = get_eclass_for_sort_expr(root, (Expr *) expr, - NULL, /* nullable_relids */ /* GPDB_94_MERGE_FIXME: is NULL ok here? */ mergeopfamilies, opcintype, exprCollation((Node *) expr), diff --git a/src/backend/cdb/cdbplan.c b/src/backend/cdb/cdbplan.c index 1979ad38f8b..c1d4fcada79 100644 --- a/src/backend/cdb/cdbplan.c +++ b/src/backend/cdb/cdbplan.c @@ -1153,7 +1153,7 @@ get_function_name(Oid proid, const char *dflt) } /* Utility to get a name for a tle to use as an eref. */ -Value * +String * get_tle_name(TargetEntry *tle, List *rtable, const char *default_name) { char *name = NULL; diff --git a/src/backend/cdb/cdbrelsize.c b/src/backend/cdb/cdbrelsize.c index 5de0f38b4d0..f13d27e0b44 100644 --- a/src/backend/cdb/cdbrelsize.c +++ b/src/backend/cdb/cdbrelsize.c @@ -23,7 +23,6 @@ #include "cdb/cdbdispatchresult.h" #include "libpq-fe.h" #include "lib/stringinfo.h" -#include "utils/int8.h" #include "utils/lsyscache.h" #include "utils/builtins.h" #include "utils/rel.h" @@ -66,7 +65,7 @@ cdbRelMaxSegSize(Relation rel) Assert(PQntuples(pgresult) == 1); int64 tempsize = 0; - (void) scanint8(PQgetvalue(pgresult, 0, 0), false, &tempsize); + tempsize = pg_strtoint64(PQgetvalue(pgresult, 0, 0)); if (tempsize > size) size = tempsize; } diff --git a/src/backend/cdb/cdbsubselect.c b/src/backend/cdb/cdbsubselect.c index 43a46eace4b..8b8329485f6 100644 --- a/src/backend/cdb/cdbsubselect.c +++ b/src/backend/cdb/cdbsubselect.c @@ -1357,9 +1357,9 @@ fetch_outer_exprs(Node *testexpr) */ if (IsA(expr, BoolExpr)) { - BoolExpr *be = (BoolExpr *) expr; List *exprs = NIL; ListCell *lc; + be = (BoolExpr *) expr; /* * The following cases should not happen, instead of diff --git a/src/backend/cdb/cdbtargeteddispatch.c b/src/backend/cdb/cdbtargeteddispatch.c index b297164e273..c0367fe522c 100644 --- a/src/backend/cdb/cdbtargeteddispatch.c +++ b/src/backend/cdb/cdbtargeteddispatch.c @@ -167,7 +167,6 @@ GetContentIdsFromPlanForSingleRelation(PlannerInfo *root, Plan *plan, int rangeT PossibleValueSet pvs_segids; Node **seg_ids; int len; - int i; List *contentIds = NULL; /** diff --git a/src/backend/cdb/cdbtm.c b/src/backend/cdb/cdbtm.c index f0cd5fcb3f6..487c6c6e85e 100644 --- a/src/backend/cdb/cdbtm.c +++ b/src/backend/cdb/cdbtm.c @@ -1538,7 +1538,6 @@ insertedDistributedCommitted(void) * We don't have to hold ProcArrayLock here because needIncludedInCkpt is used * during creating checkpoint and we already set delayChkpt before we got here. */ - Assert(MyProc->delayChkpt); if (IS_QUERY_DISPATCHER()) MyTmGxact->includeInCkpt = true; } diff --git a/src/backend/cdb/cdbvarblock.c b/src/backend/cdb/cdbvarblock.c index 3779eebb3af..e5b41206e75 100644 --- a/src/backend/cdb/cdbvarblock.c +++ b/src/backend/cdb/cdbvarblock.c @@ -358,7 +358,7 @@ VarBlockMakerFinish( int encryptDataOffset = VARBLOCK_HEADER_LEN; EncryptAOBLock(buffer + encryptDataOffset, bufferLen - encryptDataOffset, - &storageWrite->relFileNode.node); + &storageWrite->relFileNode.locator); } return bufferLen; @@ -648,7 +648,7 @@ VarBlockReaderInit( uint8 *buffer, VarBlockByteLen bufferLen, bool needDecrypt, - RelFileNode *file_node) + RelFileLocator *file_node) { VarBlockHeader *header; VarBlockByteLen itemLenSum; @@ -872,7 +872,7 @@ VarBlockCollapseToSingleItem( source, sourceLen, false, - &storageWrite->relFileNode.node); + &storageWrite->relFileNode.locator); Assert(VarBlockReaderItemCount(&varBlockReader) == 1); @@ -896,7 +896,7 @@ VarBlockCollapseToSingleItem( if (FileEncryptionEnabled) EncryptAOBLock(target, itemLen, - &storageWrite->relFileNode.node); + &storageWrite->relFileNode.locator); return itemLen; } diff --git a/src/backend/crypto/bufenc.c b/src/backend/crypto/bufenc.c index 4e6f244c879..36a6a9928c8 100644 --- a/src/backend/crypto/bufenc.c +++ b/src/backend/crypto/bufenc.c @@ -171,15 +171,15 @@ set_buffer_encryption_iv(Page page, BlockNumber blkno) /* Construct iv for the given page */ static void -set_buffer_encryption_iv_for_ao(RelFileNode *file_node) +set_buffer_encryption_iv_for_ao(RelFileLocator *file_node) { unsigned char *p = buf_encryption_iv; MemSet(buf_encryption_iv, 0, BUFENC_IV_SIZE); /* copy the whole file node (4 bytes) */ - memcpy(p, &file_node->dbNode, sizeof(file_node->dbNode)); - p += sizeof(file_node->dbNode); + memcpy(p, &file_node->dbOid, sizeof(file_node->dbOid)); + p += sizeof(file_node->dbOid); /* * set the last remain 12 bytes @@ -190,7 +190,7 @@ set_buffer_encryption_iv_for_ao(RelFileNode *file_node) void EncryptAOBLock(unsigned char *data_buf, const int buf_len, - RelFileNode *file_node) + RelFileLocator *file_node) { int enclen; Assert(BufEncCtx != NULL); diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index c7731b9365c..736447a8af9 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -1256,7 +1256,7 @@ register_dirty_segment(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) * for AO segment files. */ void -register_dirty_segment_ao(RelFileNode rnode, int segno, File vfd) +register_dirty_segment_ao(RelFileLocator rnode, int segno, File vfd) { FileTag tag; diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index 605783c5fe6..5add6e4c6f7 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -111,17 +111,17 @@ static File AORelOpenSegFile(__attribute__((unused))Oid reloid, const char *file return PathNameOpenFile(filePath, fileFlags); } -static File AORelOpenSegFileXlog(RelFileNode node, int32 segmentFileNum, int fileFlags) +static File AORelOpenSegFileXlog(RelFileLocator node, int32 segmentFileNum, int fileFlags) { char *dbPath; char path[MAXPGPATH]; - dbPath = GetDatabasePath(node.dbNode, - node.spcNode); + dbPath = GetDatabasePath(node.dbOid, + node.spcOid); if (segmentFileNum == 0) - snprintf(path, MAXPGPATH, "%s/%u", dbPath, node.relNode); + snprintf(path, MAXPGPATH, "%s/%u", dbPath, node.relNumber); else - snprintf(path, MAXPGPATH, "%s/%u.%u", dbPath, node.relNode, segmentFileNum); + snprintf(path, MAXPGPATH, "%s/%u.%u", dbPath, node.relNumber, segmentFileNum); pfree(dbPath); return PathNameOpenFile(path, fileFlags); diff --git a/src/include/access/aomd.h b/src/include/access/aomd.h index 45c9d597bb4..aca01ce57c7 100644 --- a/src/include/access/aomd.h +++ b/src/include/access/aomd.h @@ -69,7 +69,7 @@ typedef bool (*ao_extent_callback)(int segno, void *ctx); extern void ao_foreach_extent_file(ao_extent_callback callback, void *ctx); -extern void register_dirty_segment_ao(RelFileNode rnode, int segno, File vfd); +extern void register_dirty_segment_ao(RelFileLocator rnode, int segno, File vfd); extern uint64 ao_rel_get_physical_size(Relation aorel); #endif /* AOMD_H */ diff --git a/src/include/cdb/cdbplan.h b/src/include/cdb/cdbplan.h index 79a80952709..b133d832ddf 100644 --- a/src/include/cdb/cdbplan.h +++ b/src/include/cdb/cdbplan.h @@ -20,6 +20,6 @@ extern Node * plan_tree_mutator(Node *node, Node *(*mutator) (), void *context, bool recurse_into_subplans); -extern Value *get_tle_name(TargetEntry *tle, List *rtable, const char *default_name); +extern String *get_tle_name(TargetEntry *tle, List *rtable, const char *default_name); #endif /* CDBPLAN_H */ diff --git a/src/include/cdb/cdbvarblock.h b/src/include/cdb/cdbvarblock.h index e4670e05e30..2b666b7ea14 100644 --- a/src/include/cdb/cdbvarblock.h +++ b/src/include/cdb/cdbvarblock.h @@ -346,7 +346,7 @@ extern void VarBlockReaderInit( uint8 *buffer, VarBlockByteLen bufferLen, bool needDecrypt, - RelFileNode *file_nod); + RelFileLocator *file_nod); /* * Get a pointer to the next variable-length item. diff --git a/src/include/crypto/bufenc.h b/src/include/crypto/bufenc.h index da371b7334d..2cbfd001e2b 100644 --- a/src/include/crypto/bufenc.h +++ b/src/include/crypto/bufenc.h @@ -26,9 +26,9 @@ extern void DecryptPage(Page page, BlockNumber blkno); extern void EncryptAOBLock(unsigned char *data_buf, const int buf_len, - RelFileNode *file_node); + RelFileLocator *file_node); extern void DecryptAOBlock(unsigned char *data_buf, const int buf_len, - RelFileNode *file_node); + RelFileLocator *file_node); #endif /* BUFENC_H */ diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h index b49d8b123dc..d15304682a8 100644 --- a/src/include/storage/smgr.h +++ b/src/include/storage/smgr.h @@ -162,7 +162,7 @@ typedef struct f_smgr_ao { void (*smgr_FileClose) (File file); int (*smgr_FileTruncate) (File file, int64 offset, uint32 wait_event_info); File (*smgr_AORelOpenSegFile) (Oid reloid, const char *filePath, int fileFlags); - File (*smgr_AORelOpenSegFileXlog) (RelFileNode node, int32 segmentFileNum, int fileFlags); + File (*smgr_AORelOpenSegFileXlog) (RelFileLocator node, int32 segmentFileNum, int fileFlags); int (*smgr_FileWrite) (File file, char *buffer, int amount, off_t offset, uint32 wait_event_info); int (*smgr_FileRead) (File file, char *buffer, int amount, off_t offset, uint32 wait_event_info); off_t (*smgr_FileSize) (File file); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cloudberry.apache.org For additional commands, e-mail: commits-h...@cloudberry.apache.org