summaryrefslogtreecommitdiff
path: root/src/include/replication/reorderbuffer.h
diff options
context:
space:
mode:
authorMasahiko Sawada <msawada@postgresql.org>2024-01-29 10:37:16 +0900
committerMasahiko Sawada <msawada@postgresql.org>2024-01-29 10:37:16 +0900
commit08e6344fd6423210b339e92c069bb979ba4e7cd6 (patch)
tree231defcb4b2376503dcbe21dfefb1a82c561e76c /src/include/replication/reorderbuffer.h
parent50b797dc99ec3bf97ea5d0955a3b42d356c1522d (diff)
Remove ReorderBufferTupleBuf structure.
Since commit a4ccc1cef, the 'node' and 'alloc_tuple_size' fields of the ReorderBufferTupleBuf structure are no longer used. This leaves only the 'tuple' field in the structure. Since keeping a single-field structure makes little sense, the ReorderBufferTupleBuf is removed entirely. The code is refactored accordingly. No back-patching since these are ABI changes in an exposed structure and functions, and there would be some risk of breaking extensions. Author: Aleksander Alekseev Reviewed-by: Amit Kapila, Masahiko Sawada, Reid Thompson Discussion: https://postgr.es/m/CAD21AoCvnuxiXXfRecp7g9+CeC35POQfhuQeJFr7_9u_Q5jc_Q@mail.gmail.com
Diffstat (limited to 'src/include/replication/reorderbuffer.h')
-rw-r--r--src/include/replication/reorderbuffer.h31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/include/replication/reorderbuffer.h b/src/include/replication/reorderbuffer.h
index 3e232c6c27f..0b2c95f7aa0 100644
--- a/src/include/replication/reorderbuffer.h
+++ b/src/include/replication/reorderbuffer.h
@@ -28,25 +28,6 @@ typedef enum
DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE,
} DebugLogicalRepStreamingMode;
-/* an individual tuple, stored in one chunk of memory */
-typedef struct ReorderBufferTupleBuf
-{
- /* position in preallocated list */
- slist_node node;
-
- /* tuple header, the interesting bit for users of logical decoding */
- HeapTupleData tuple;
-
- /* pre-allocated size of tuple buffer, different from tuple size */
- Size alloc_tuple_size;
-
- /* actual tuple data follows */
-} ReorderBufferTupleBuf;
-
-/* pointer to the data stored in a TupleBuf */
-#define ReorderBufferTupleBufData(p) \
- ((HeapTupleHeader) MAXALIGN(((char *) p) + sizeof(ReorderBufferTupleBuf)))
-
/*
* Types of the change passed to a 'change' callback.
*
@@ -114,9 +95,9 @@ typedef struct ReorderBufferChange
bool clear_toast_afterwards;
/* valid for DELETE || UPDATE */
- ReorderBufferTupleBuf *oldtuple;
+ HeapTuple oldtuple;
/* valid for INSERT || UPDATE */
- ReorderBufferTupleBuf *newtuple;
+ HeapTuple newtuple;
} tp;
/*
@@ -678,10 +659,10 @@ struct ReorderBuffer
extern ReorderBuffer *ReorderBufferAllocate(void);
extern void ReorderBufferFree(ReorderBuffer *rb);
-extern ReorderBufferTupleBuf *ReorderBufferGetTupleBuf(ReorderBuffer *rb,
- Size tuple_len);
-extern void ReorderBufferReturnTupleBuf(ReorderBuffer *rb,
- ReorderBufferTupleBuf *tuple);
+extern HeapTuple ReorderBufferGetTupleBuf(ReorderBuffer *rb,
+ Size tuple_len);
+extern void ReorderBufferReturnTupleBuf(HeapTuple tuple);
+
extern ReorderBufferChange *ReorderBufferGetChange(ReorderBuffer *rb);
extern void ReorderBufferReturnChange(ReorderBuffer *rb,
ReorderBufferChange *change, bool upd_mem);