agora inbox for [email protected]
help / color / mirror / Atom feeds_lock.h line 178
966+ messages / 3 participants
[nested] [flat]
* s_lock.h line 178
@ 1998-10-27 17:09 Andreas Zeugswetter <[email protected]>
1998-10-27 17:46 ` Re: [HACKERS] s_lock.h line 178 Bruce Momjian <[email protected]>
0 siblings, 1 reply; 966+ messages in thread
From: Andreas Zeugswetter @ 1998-10-27 17:09 UTC (permalink / raw)
To: '[email protected]' <[email protected]>
Needs continuation character for portability:
*** s_lock.h.ori Tue Oct 13 14:21:55 1998
--- s_lock.h Tue Oct 27 18:03:57
1998
***************
*** 175,181 ****
tas(volatile slock_t *lock)
{
register _res;
! __asm__("sbitb 0, %0
sfsd %1"
: "=m"(*lock),
"=r"(_res));
return (int) _res;
--- 175,181 ----
tas(volatile
slock_t *lock)
{
register _res;
! __asm__("sbitb 0, %0 \
sfsd
%1"
: "=m"(*lock), "=r"(_res));
return (int) _res;
^ permalink raw reply [nested|flat] 966+ messages in thread
* Re: [HACKERS] s_lock.h line 178
1998-10-27 17:09 s_lock.h line 178 Andreas Zeugswetter <[email protected]>
@ 1998-10-27 17:46 ` Bruce Momjian <[email protected]>
0 siblings, 0 replies; 966+ messages in thread
From: Bruce Momjian @ 1998-10-27 17:46 UTC (permalink / raw)
To: Andreas Zeugswetter <[email protected]>; +Cc: [email protected]
Applied by hand. Moved %1 up to the proper line.
> Needs continuation character for portability:
> slock_t *lock)
> {
> register _res;
> ! __asm__("sbitb 0, %0 \
> sfsd
> %1"
> : "=m"(*lock), "=r"(_res));
> return (int) _res;
>
>
>
--
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 --
1998-10-27 17:09 s_lock.h line 178 Andreas Zeugswetter <[email protected]>
1998-10-27 17:46 ` 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