diff options
author | Masahiko Sawada <msawada@postgresql.org> | 2024-01-29 10:37:16 +0900 |
---|---|---|
committer | Masahiko Sawada <msawada@postgresql.org> | 2024-01-29 10:37:16 +0900 |
commit | 08e6344fd6423210b339e92c069bb979ba4e7cd6 (patch) | |
tree | 231defcb4b2376503dcbe21dfefb1a82c561e76c /src/include/replication/reorderbuffer.h | |
parent | 50b797dc99ec3bf97ea5d0955a3b42d356c1522d (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.h | 31 |
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); |