mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
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
This commit is contained in:
@ -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);
|
||||
|
Reference in New Issue
Block a user