Re: Logical decoding for operations on zheap tables - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Logical decoding for operations on zheap tables
Date
Msg-id 20190103182330.uxwux4eownyrp2et@alap3.anarazel.de
Whole thread Raw
In response to Re: Logical decoding for operations on zheap tables  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Logical decoding for operations on zheap tables
List pgsql-hackers
Hi,

On 2019-01-03 15:13:42 -0300, Alvaro Herrera wrote:
> On 2019-Jan-03, Andres Freund wrote:
> 
> > > Apart from this, we need to define different decode functions for
> > > zheap operations as the WAL data is different for heap and zheap, so
> > > same functions can't be used to decode.
> > 
> > I'm very strongly opposed to that. We shouldn't have expose every
> > possible storage method to output plugins, that'll make extensibility
> > a farce.  I think we'll either have to re-form a HeapTuple or decide
> > to bite the bullet and start exposing tuples via slots.
> 
> Hmm, without looking at the patches, I agree that the tuples should be
> given as slots to the logical decoding interface.  I wonder if we need a
> further function in the TTS interface to help decoding, or is the
> "getattr" stuff sufficient.

What precisely do you mean with "getattr stuff"? I'd assume that you'd
normally do a slot_getallattrs() and then access tts_values/nulls
directly. I don't think there's anything missing in the slot interface
itself, but using slots probably would require some careful
considerations around memory management, possibly a decoding specific
slot implementation even.

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Logical decoding for operations on zheap tables
Next
From: Alvaro Herrera
Date:
Subject: Re: Logical decoding for operations on zheap tables