agora inbox for [email protected]
help / color / mirror / Atom feedRe: create index updates nrows statistics
966+ messages / 3 participants
[nested] [flat]
* Re: create index updates nrows statistics
@ 1999-05-25 18:05 ZEUGSWETTER Andreas IZ5 <[email protected]>
0 siblings, 1 reply; 966+ messages in thread
From: ZEUGSWETTER Andreas IZ5 @ 1999-05-25 18:05 UTC (permalink / raw)
To: '[email protected]' <[email protected]>
> a create index updates the statistics in pg_class,
> this leads to substantial performance degradation compared to
> 6.4.2.
>
> If you want to see what I mean simply run the performance test in
> our test subdirectory.
>
> I think the create index statement should not update this statistic.
> (at least not in the newly created empty table case)
> This behavior would then be in sync with the create table behavior.
>
To fix this I urgently suggest the following patch:
<<index.patch>>
regression passes and is a little faster :-)
performance test: without patch 7min now 22 sec
Andreas
Attachments:
[application/octet-stream] index.patch (4.8K, ../../219F68D65015D011A8E000006F8590C60267B376@sdexcsrv1.f000.d0188.sd.spardat.at/2-index.patch)
download | inline diff:
*** ./src/backend/catalog/index.c.orig Tue May 25 12:16:15 1999
--- ./src/backend/catalog/index.c Tue May 25 19:44:59 1999
***************
*** 1323,1338 ****
*/
relpages = RelationGetNumberOfBlocks(whichRel);
- /*
- * We shouldn't have to do this, but we do... Modify the reldesc in
- * place with the new values so that the cache contains the latest
- * copy.
- */
-
- whichRel->rd_rel->relhasindex = hasindex;
- whichRel->rd_rel->relpages = relpages;
- whichRel->rd_rel->reltuples = reltuples;
-
for (i = 0; i < Natts_pg_class; i++)
{
nulls[i] = heap_attisnull(tuple, i + 1) ? 'n' : ' ';
--- 1323,1328 ----
***************
*** 1344,1351 ****
* If reltuples wasn't supplied take an educated guess.
*/
if (reltuples == 0)
! reltuples = relpages * NTUPLES_PER_PAGE(whichRel->rd_rel->relnatts);
if (IsBootstrapProcessingMode())
{
--- 1334,1366 ----
* If reltuples wasn't supplied take an educated guess.
*/
if (reltuples == 0)
! if (relpages == 0)
! {
! /*
! * Empty relation, leave bogus default in place, see comment in heap.c
! */
! reltuples = 1000; /* bogus estimates */
! relpages = 10;
! }
! else if (whichRel->rd_rel->relkind == RELKIND_INDEX && relpages == 2)
! /*
! * Empty index ?, leave bogus default in place
! */
! reltuples = 1000; /* bogus estimates */
! else
! reltuples = relpages * NTUPLES_PER_PAGE(whichRel->rd_rel->relnatts);
+ /*
+ * We shouldn't have to do this, but we do... Modify the reldesc in
+ * place with the new values so that the cache contains the latest
+ * copy.
+ */
+
+ whichRel->rd_rel->relhasindex = hasindex;
+ whichRel->rd_rel->relpages = relpages;
+ whichRel->rd_rel->reltuples = reltuples;
+
+
if (IsBootstrapProcessingMode())
{
***************
*** 1522,1527 ****
--- 1537,1543 ----
{
reltuples++;
+ #ifndef OMIT_PARTIAL_INDEX
/*
* If oldPred != NULL, this is an EXTEND INDEX command, so skip
* this tuple if it was already in the existing partial index
***************
*** 1528,1534 ****
*/
if (oldPred != NULL)
{
- #ifndef OMIT_PARTIAL_INDEX
/* SetSlotContents(slot, heapTuple); */
slot->val = heapTuple;
if (ExecQual((List *) oldPred, econtext) == true)
--- 1544,1549 ----
***************
*** 1536,1542 ****
indtuples++;
continue;
}
- #endif /* OMIT_PARTIAL_INDEX */
}
/*
--- 1551,1556 ----
***************
*** 1545,1557 ****
*/
if (predicate != NULL)
{
- #ifndef OMIT_PARTIAL_INDEX
/* SetSlotContents(slot, heapTuple); */
slot->val = heapTuple;
if (ExecQual((List *) predicate, econtext) == false)
continue;
- #endif /* OMIT_PARTIAL_INDEX */
}
indtuples++;
--- 1559,1570 ----
*/
if (predicate != NULL)
{
/* SetSlotContents(slot, heapTuple); */
slot->val = heapTuple;
if (ExecQual((List *) predicate, econtext) == false)
continue;
}
+ #endif /* OMIT_PARTIAL_INDEX */
indtuples++;
***************
*** 1584,1595 ****
heap_endscan(scan);
if (predicate != NULL || oldPred != NULL)
{
- #ifndef OMIT_PARTIAL_INDEX
ExecDestroyTupleTable(tupleTable, false);
- #endif /* OMIT_PARTIAL_INDEX */
}
pfree(nullv);
pfree(datum);
--- 1597,1608 ----
heap_endscan(scan);
+ #ifndef OMIT_PARTIAL_INDEX
if (predicate != NULL || oldPred != NULL)
{
ExecDestroyTupleTable(tupleTable, false);
}
+ #endif /* OMIT_PARTIAL_INDEX */
pfree(nullv);
pfree(datum);
*** ./src/backend/catalog/heap.c.orig Tue May 25 12:16:15 1999
--- ./src/backend/catalog/heap.c Tue May 25 19:01:56 1999
***************
*** 676,686 ****
* enough to discourage the optimizer from using nested-loop plans.
* With this hack, nested-loop plans will be preferred only after
* the table has been proven to be small by VACUUM or CREATE INDEX.
! * (NOTE: if user does CREATE TABLE, then CREATE INDEX, then loads
! * the table, he still loses until he vacuums, because CREATE INDEX
! * will set reltuples to zero. Can't win 'em all. Maintaining the
! * stats on-the-fly would solve the problem, but the overhead of that
! * would likely cost more than it'd save.)
* ----------------
*/
new_rel_reltup->relpages = 10; /* bogus estimates */
--- 676,685 ----
* enough to discourage the optimizer from using nested-loop plans.
* With this hack, nested-loop plans will be preferred only after
* the table has been proven to be small by VACUUM or CREATE INDEX.
! * (NOTE: CREATE INDEX also sets these bogus estimates if the
! * relation has 0 rows and pages. See index.c.)
! * Maintaining the stats on-the-fly would solve the problem,
! * but the overhead of that would likely cost more than it'd save.
* ----------------
*/
new_rel_reltup->relpages = 10; /* bogus estimates */
^ permalink raw reply [nested|flat] 966+ messages in thread
* Re: [HACKERS] Re: create index updates nrows statistics
@ 1999-05-27 00:10 Bruce Momjian <[email protected]>
parent: ZEUGSWETTER Andreas IZ5 <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Bruce Momjian @ 1999-05-27 00:10 UTC (permalink / raw)
To: ZEUGSWETTER Andreas IZ5 <[email protected]>; +Cc: '[email protected]' <[email protected]>
I had this patch, but was unsure if it was save for 6.5.
Looks like Tom has decided. Good.
> > a create index updates the statistics in pg_class,
> > this leads to substantial performance degradation compared to
> > 6.4.2.
> >
> > If you want to see what I mean simply run the performance test in
> > our test subdirectory.
> >
> > I think the create index statement should not update this statistic.
> > (at least not in the newly created empty table case)
> > This behavior would then be in sync with the create table behavior.
> >
> To fix this I urgently suggest the following patch:
> <<index.patch>>
> regression passes and is a little faster :-)
> performance test: without patch 7min now 22 sec
>
> Andreas
[Attachment, skipping...]
--
Bruce Momjian | http://www.op.net/~candle
[email protected] | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 966+ messages in thread
end of thread, other threads:[~2026-04-13 09:36 UTC | newest]
Thread overview: 966+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
1999-05-25 18:05 Re: create index updates nrows statistics ZEUGSWETTER Andreas IZ5 <[email protected]>
1999-05-27 00:10 ` Bruce Momjian <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox