Re: Remove unused fields in ReorderBufferTupleBuf
Aleksander Alekseev <aleksander@timescale.com>
From: Aleksander Alekseev <aleksander@timescale.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Masahiko Sawada <sawada.mshk@gmail.com>
Date: 2024-01-22T14:02:03Z
Lists: pgsql-hackers
Attachments
- v4-0001-Remove-ReorderBufferTupleBuf-structure.patch (application/octet-stream) patch v4-0001
Hi, > > I played a bit more with the patch. There was an idea to make > > ReorderBufferTupleBufData an opaque structure known only within > > reorderbyffer.c but it turned out that replication/logical/decode.c > > accesses it directly so I abandoned that idea for now. > > > > > Alternatively we could convert ReorderBufferTupleBufData macro to an > > > inlined function. At least it will add some type safety. > > > > Here is v3 that implements it too as a separate patch. > > > > But why didn't you pursue your idea of getting rid of the wrapper > structure ReorderBufferTupleBuf which after this patch will have just > one member? I think there could be hassles in backpatching bug-fixes > in some cases but in the longer run it would make the code look clean. Indeed. In fact turned out that I suggested the same above but apparently forgot: > On top of that IMO it doesn't make much sense to keep a one-field > wrapper structure. Perhaps we should get rid of it entirely and just > use HeapTupleData instead. After actually trying the refactoring I agree that the code becomes cleaner and it's going to be beneficial in the long run. Here is the patch. -- Best regards, Aleksander Alekseev
Commits
-
Remove ReorderBufferTupleBuf structure.
- 08e6344fd642 17.0 landed
-
Generational memory allocator
- a4ccc1cef5a0 11.0 cited