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 76370f8e036 Fix compile errors for resscheduler and sort in utils
76370f8e036 is described below

commit 76370f8e036dae1bab678638ccc1fbd149d599ad
Author: Jinbao Chen <[email protected]>
AuthorDate: Mon Oct 6 23:12:06 2025 +0800

    Fix compile errors for resscheduler and sort in utils
---
 src/backend/utils/resscheduler/resqueue.c | 82 +++++++++++++++----------------
 src/backend/utils/sort/logtape.c          |  6 ++-
 src/backend/utils/sort/sharedtuplestore.c |  2 +-
 src/backend/utils/sort/tuplesort.c        |  2 +-
 src/include/storage/lock.h                |  2 +-
 src/include/utils/resscheduler.h          |  2 +-
 6 files changed, 49 insertions(+), 47 deletions(-)

diff --git a/src/backend/utils/resscheduler/resqueue.c 
b/src/backend/utils/resscheduler/resqueue.c
index b05e8dfb882..5f1d1772192 100644
--- a/src/backend/utils/resscheduler/resqueue.c
+++ b/src/backend/utils/resscheduler/resqueue.c
@@ -272,8 +272,8 @@ ResLockAcquire(LOCKTAG *locktag, ResPortalIncrement 
*incrementSet)
        {
                lock->grantMask = 0;
                lock->waitMask = 0;
-               SHMQueueInit(&(lock->procLocks));
-               ProcQueueInit(&(lock->waitProcs));
+               dlist_init(&(lock->procLocks));
+               dclist_init(&(lock->waitProcs));
                lock->nRequested = 0;
                lock->nGranted = 0;
                MemSet(lock->requested, 0, sizeof(int) * MAX_LOCKMODES);
@@ -317,7 +317,7 @@ ResLockAcquire(LOCKTAG *locktag, ResPortalIncrement 
*incrementSet)
                         * of shared memory, because there won't be anything to 
cause
                         * anyone to release the lock object later.
                         */
-                       Assert(SHMQueueEmpty(&(lock->procLocks)));
+                       Assert(dlist_is_empty(&(lock->procLocks)));
                        if (!hash_search_with_hash_value(LockMethodLockHash,
                                                                                
         (void *) &(lock->tag),
                                                                                
         hashcode,
@@ -356,10 +356,10 @@ ResLockAcquire(LOCKTAG *locktag, ResPortalIncrement 
*incrementSet)
                proclock->holdMask = 0;
                proclock->releaseMask = 0;
                /* Add proclock to appropriate lists */
-               SHMQueueInsertBefore(&lock->procLocks, &proclock->lockLink);
-               SHMQueueInsertBefore(&(MyProc->myProcLocks[partition]), 
&proclock->procLink);
+               dlist_insert_before(&lock->procLocks.head, &proclock->lockLink);
+               dlist_insert_before(&(MyProc->myProcLocks[partition].head), 
&proclock->procLink);
                proclock->nLocks = 0;
-               SHMQueueInit(&(proclock->portalLinks));
+               dlist_init(&(proclock->portalLinks));
        }
        else
        {
@@ -524,8 +524,8 @@ ResLockAcquire(LOCKTAG *locktag, ResPortalIncrement 
*incrementSet)
                LWLockRelease(ResQueueLock);
 
                /* Note the start time for queue statistics. */
-               pgstat_record_start_queue_exec(incrementSet->portalId,
-                                                                          
locktag->locktag_field1);
+//             pgstat_record_start_queue_exec(incrementSet->portalId,
+//                                                                        
locktag->locktag_field1);
 
                resLockAcquireStatus = RQA_STATISTICS_UPDATED;
        }
@@ -570,10 +570,10 @@ ResLockAcquire(LOCKTAG *locktag, ResPortalIncrement 
*incrementSet)
                LWLockRelease(ResQueueLock);
 
                /* Note count and wait time for queue statistics. */
-               pgstat_count_queue_wait(incrementSet->portalId,
-                                                               
locktag->locktag_field1);
-               pgstat_record_start_queue_wait(incrementSet->portalId,
-                                                                          
locktag->locktag_field1);
+//             pgstat_count_queue_wait(incrementSet->portalId,
+//                                                             
locktag->locktag_field1);
+//             pgstat_record_start_queue_wait(incrementSet->portalId,
+//                                                                        
locktag->locktag_field1);
 
                /*
                 * Sleep till someone wakes me up.
@@ -597,10 +597,10 @@ ResLockAcquire(LOCKTAG *locktag, ResPortalIncrement 
*incrementSet)
                MyProc->waitPortalId = INVALID_PORTALID;
 
                /* End wait time and start execute time statistics for this 
queue. */
-               pgstat_record_end_queue_wait(incrementSet->portalId,
-                                                                        
locktag->locktag_field1);
-               pgstat_record_start_queue_exec(incrementSet->portalId,
-                                                                          
locktag->locktag_field1);
+//             pgstat_record_end_queue_wait(incrementSet->portalId,
+//                                                                      
locktag->locktag_field1);
+//             pgstat_record_start_queue_exec(incrementSet->portalId,
+//                                                                        
locktag->locktag_field1);
                resLockAcquireStatus = RQA_STATISTICS_UPDATED;
        }
 
@@ -837,8 +837,8 @@ ResLockRelease(LOCKTAG *locktag, uint32 resPortalId)
        LWLockRelease(partitionLock);
 
        /* Update execute statistics for this queue, count and elapsed time. */
-       pgstat_count_queue_exec(resPortalId, locktag->locktag_field1);
-       pgstat_record_end_queue_exec(resPortalId, locktag->locktag_field1);
+//     pgstat_count_queue_exec(resPortalId, locktag->locktag_field1);
+//     pgstat_record_end_queue_exec(resPortalId, locktag->locktag_field1);
 
        resLockReleaseStatus = RQR_NOT_STARTED_OR_DONE;
        return true;
@@ -1226,10 +1226,10 @@ ResCleanUpLock(LOCK *lock, PROCLOCK *proclock, uint32 
hashcode, bool wakeupNeede
                uint32          proclock_hashcode;
 
                if (proclock->lockLink.next != NULL)
-                       SHMQueueDelete(&proclock->lockLink);
+                       dlist_delete(&proclock->lockLink);
 
                if (proclock->procLink.next != NULL)
-                       SHMQueueDelete(&proclock->procLink);
+                       dlist_delete(&proclock->procLink);
 
                proclock_hashcode = ProcLockHashCode(&proclock->tag, hashcode);
                hash_search_with_hash_value(LockMethodProcLockHash, (void *) 
&(proclock->tag),
@@ -1242,7 +1242,7 @@ ResCleanUpLock(LOCK *lock, PROCLOCK *proclock, uint32 
hashcode, bool wakeupNeede
                 * The caller just released the last lock, so garbage-collect 
the lock
                 * object.
                 */
-               Assert(SHMQueueEmpty(&(lock->procLocks)));
+               Assert(dlist_is_empty(&(lock->procLocks)));
 
                hash_search(LockMethodLockHash, (void *) &(lock->tag), 
HASH_REMOVE, NULL);
        }
@@ -1328,8 +1328,8 @@ ResWaitOnLock(LOCALLOCK *locallock, ResourceOwner owner, 
ResPortalIncrement *inc
 void
 ResProcLockRemoveSelfAndWakeup(LOCK *lock)
 {
-       PROC_QUEUE *waitQueue = &(lock->waitProcs);
-       int                     queue_size = waitQueue->size;
+       dclist_head *waitQueue = &(lock->waitProcs);
+       int                     queue_size = waitQueue->count;
        PGPROC     *proc;
        uint32          hashcode;
        LWLockId        partitionLock;
@@ -1350,7 +1350,7 @@ ResProcLockRemoveSelfAndWakeup(LOCK *lock)
                return;
        }
 
-       proc = (PGPROC *) waitQueue->links.next;
+       proc = (PGPROC *) waitQueue->dlist.head.next;
 
        while (queue_size-- > 0)
        {
@@ -1367,8 +1367,8 @@ ResProcLockRemoveSelfAndWakeup(LOCK *lock)
 
                        nextproc = (PGPROC *) proc->links.next;
 
-                       SHMQueueDelete(&(proc->links));
-                       (proc->waitLock->waitProcs.size)--;
+                       dclist_delete_from(waitQueue, &(proc->links));
+                       (proc->waitLock->waitProcs.count)--;
 
                        proc = nextproc;
 
@@ -1408,7 +1408,7 @@ ResProcLockRemoveSelfAndWakeup(LOCK *lock)
                }
        }
 
-       Assert(waitQueue->size >= 0);
+       Assert(waitQueue->count >= 0);
 
        return;
 }
@@ -1472,8 +1472,8 @@ ResProcWakeup(PGPROC *proc, int waitStatus)
        retProc = (PGPROC *) proc->links.next;
 
        /* Remove process from wait queue */
-       SHMQueueDelete(&(proc->links));
-       (proc->waitLock->waitProcs.size)--;
+       dclist_delete_from(&proc->waitLock->waitProcs, &(proc->links));
+       (proc->waitLock->waitProcs.count)--;
 
        /* Clean up process' state and pass it the ok/fail signal */
        proc->waitLock = NULL;
@@ -1508,11 +1508,11 @@ ResRemoveFromWaitQueue(PGPROC *proc, uint32 hashcode)
        /* Make sure proc is waiting */
        Assert(proc->links.next != NULL);
        Assert(waitLock);
-       Assert(waitLock->waitProcs.size > 0);
+       Assert(waitLock->waitProcs.count > 0);
 
        /* Remove proc from lock's wait queue */
-       SHMQueueDelete(&(proc->links));
-       waitLock->waitProcs.size--;
+       dclist_delete_from(&waitLock->waitProcs, &(proc->links));
+       waitLock->waitProcs.count--;
 
        /* Undo increments of request counts by waiting process */
        Assert(waitLock->nRequested > 0);
@@ -1790,7 +1790,7 @@ ResIncrementAdd(ResPortalIncrement *incSet,
                {
                        incrementSet->increments[i] = incSet->increments[i];
                }
-               SHMQueueInsertBefore(&proclock->portalLinks, 
&incrementSet->portalLink);
+               dlist_insert_before(&proclock->portalLinks.head, 
&incrementSet->portalLink);
        }
        else
        {
@@ -1857,7 +1857,7 @@ ResIncrementRemove(ResPortalTag *portaltag)
                return false;
        }
 
-       SHMQueueDelete(&incrementSet->portalLink);
+       dlist_delete(&incrementSet->portalLink);
 
        return true;
 }
@@ -2598,15 +2598,15 @@ void DumpResQueueLockInfo(LOCALLOCK *locallock)
                                 "waitMask:",
                                 lock->waitMask,
                                 "procLocks.prev:",
-                                lock->procLocks.prev,
+                                lock->procLocks.head.prev,
                                 "procLocks.next:",
-                                lock->procLocks.next,
+                                lock->procLocks.head.next,
                                 "waitProcs.links.prev:",
-                                lock->waitProcs.links.prev,
+                                lock->waitProcs.dlist.head.prev,
                                 "waitProcs.links.next:",
-                                lock->waitProcs.links.next,
+                                lock->waitProcs.dlist.head.next,
                                 "waitProcs.size:",
-                                lock->waitProcs.size,
+                                lock->waitProcs.count,
                                 "requested:",
                                 lock->requested[1],
                                 lock->requested[2],
@@ -2670,9 +2670,9 @@ void DumpResQueueLockInfo(LOCALLOCK *locallock)
                                 "nLocks:",
                                 proclock->nLocks,
                                 "portalLinks.prev:",
-                                proclock->portalLinks.prev,
+                                proclock->portalLinks.head.prev,
                                 "portalLinks.next:",
-                                proclock->portalLinks.next);
+                                proclock->portalLinks.head.next);
                }
        }
 
diff --git a/src/backend/utils/sort/logtape.c b/src/backend/utils/sort/logtape.c
index 8bf97b4538b..d557720635c 100644
--- a/src/backend/utils/sort/logtape.c
+++ b/src/backend/utils/sort/logtape.c
@@ -602,12 +602,14 @@ LogicalTapeSetCreate(bool preallocate, SharedFileSet 
*fileset, int worker)
        else if (fileset)
        {
                char            filename[MAXPGPATH];
+               workfile_set *work_set;
 
                pg_itoa(worker, filename);
-               lts->pfile = BufFileCreateFileSet(&fileset->fs, filename);
+               work_set = workfile_mgr_create_set("Logtape", filename, false 
/* hold pin */);
+               lts->pfile = BufFileCreateFileSet(&fileset->fs, filename, 
work_set);
        }
        else
-               lts->pfile = BufFileCreateTemp(false);
+               lts->pfile = BufFileCreateTemp("Logtape", false);
 
        return lts;
 }
diff --git a/src/backend/utils/sort/sharedtuplestore.c 
b/src/backend/utils/sort/sharedtuplestore.c
index b70cb43b0c5..f61e6e7290e 100644
--- a/src/backend/utils/sort/sharedtuplestore.c
+++ b/src/backend/utils/sort/sharedtuplestore.c
@@ -317,7 +317,7 @@ sts_puttuple(SharedTuplestoreAccessor *accessor, void 
*meta_data,
                oldcxt = MemoryContextSwitchTo(accessor->context);
 
                work_set = workfile_mgr_create_set("SharedTupleStore", name, 
false /* hold pin */);
-               accessor->write_file = 
BufFileCreateFileSet(accessor->fileset->fs, name, work_set);
+               accessor->write_file = 
BufFileCreateFileSet(&accessor->fileset->fs, name, work_set);
                MemoryContextSwitchTo(oldcxt);
 
                /* Set up the shared state for this backend's file. */
diff --git a/src/backend/utils/sort/tuplesort.c 
b/src/backend/utils/sort/tuplesort.c
index a6b88dada6a..b88c543c54c 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -2615,7 +2615,7 @@ tuplesort_get_stats(Tuplesortstate *state,
        else
                stats->spaceType = SORT_SPACE_TYPE_MEMORY;
        stats->spaceUsed = (state->maxSpace + 1023) / 1024;
-       stats->workmemused = MemoryContextGetPeakSpace(state->sortcontext);
+       stats->workmemused = MemoryContextGetPeakSpace(state->base.sortcontext);
 
        switch (state->maxSpaceStatus)
        {
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index 2f5ba015a3e..b76085078ff 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -428,7 +428,7 @@ typedef struct PROCLOCK
        dlist_node      procLink;               /* list link in PGPROC's list 
of proclocks */
        int                     nLocks;                 /* total number of 
times lock is held by
                                                                   this 
process, used by resource scheduler */
-       dlist_node      portalLinks;    /* list of ResPortalIncrements for this
+       dlist_head      portalLinks;    /* list of ResPortalIncrements for this
                                                                   proclock, 
used by resource scheduler */
 } PROCLOCK;
 
diff --git a/src/include/utils/resscheduler.h b/src/include/utils/resscheduler.h
index e0194fc6bc8..0f2664ea331 100644
--- a/src/include/utils/resscheduler.h
+++ b/src/include/utils/resscheduler.h
@@ -94,7 +94,7 @@ typedef struct ResPortalIncrement
        uint32          portalId;                               /* Portal Id */
        bool            isHold;                                 /* Holdable 
cursor? */
        bool            isCommitted;                    /* 1st commit complete? 
*/
-       dlist_head      portalLink;                             /* List link in 
PROCLOCKS list
+       dlist_node      portalLink;                             /* List link in 
PROCLOCKS list
                                                                                
   of ResPortalIncrements. */
        /* The increments - use Cost as it has a suitably large range. */
        Cost            increments[NUM_RES_LIMIT_TYPES];


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

Reply via email to