On Fri, Aug 23, 2019 at 10:22 PM Thomas Munro <thomas.mu...@gmail.com> wrote: > Couldn't resist trying this, and it seems to work. Based on the > comment "the buffer size is a multiple of MAXIMUM_ALIGNOF, and each > read and write is as well", it should always work (though I wish > shm_mq_receive_bytes()'s documentation would discuss message alignment > explicitly if that's true). On the other hand, I doubt it makes a > difference, so this is more of a question: is this the way it was > supposed to work?
There's a comment in htup.h which says: * * Separately allocated tuple: t_data points to a palloc'd chunk that * is not adjacent to the HeapTupleData. (This case is deprecated since * it's difficult to tell apart from case #1. It should be used only in * limited contexts where the code knows that case #1 will never apply.) I got scared and ran away. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company