Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> So here's v43. Here, I've changed the CONCURRENTLY implementation to go
> through table AM. This necessitated changing it to use tuples in slots
> instead of HeapTuple. This is good because we can avoid repeated tuple
> form/deform, which could get pretty expensive. Antonin's 0004 patch
> here looks suspicious here though, because it deforms the tuple and
> forms it again, which sounds unnecessary now.
I suppose you mean
v42-0004-Serialize-decoded-tuples-without-flattening.patch. This deforms the
tuple to get the external attributes and to write them to file. The tuple the
logical worker received from reorderbuffer.c cannot be passed to the backend
executing REPACK because it may contain "external indirect" attributes,
i.e. pointers to the worker's memory.
--
Antonin Houska
Web: https://www.cybertec-postgresql.com