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]