On 2015-02-24 16:03:41 +0900, Michael Paquier wrote: > Looking at this code, I think that it is really confusing to move the data > related to the status of the backup block out of XLogRecordBlockImageHeader > to the chunk ID itself that may *not* include a backup block at all as it > is conditioned by the presence of BKPBLOCK_HAS_IMAGE.
What's the problem here? We could actually now easily remove BKPBLOCK_HAS_IMAGE and replace it by a chunk id. > the idea of having the backup block data in its dedicated header with bits > stolen from the existing fields, perhaps by rewriting it to something like > that: > typedef struct XLogRecordBlockImageHeader { > uint32 length:15, > hole_length:15, > is_compressed:1, > is_hole:1; > } XLogRecordBlockImageHeader; > Now perhaps I am missing something and this is really "ugly" ;) I think it's fantastically ugly. We'll also likely want different compression formats and stuff in the not too far away future. This will just end up being a pain. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers