On 15 October 2015 at 16:48, Andres Freund <andres@anarazel.de> wrote:
> On 2015-10-15 16:02:23 +0800, Craig Ringer wrote:
>> There's an oversight in replication origins support in logical
>> decoding, where the origin node ID isn't passed correctly to callbacks
>> except for the origin filter callback. All other callbacks see it as
>> InvalidRepOriginId.
>
> Only for the transaction, right? I.e. the stuff on changes should be
> correct? Your description sounds like it's more than that?
>
> I don't think your fix is entirely correct, the
> XLogRecGetOrigin(buf->record) shouldn't be in the XACT_XINFO_HAS_ORIGIN
> block.
I guess since it'll be InvalidRepOriginId otherwise, that makes sense.
> Your test prints the origins from the transaction instead the changes -
> why?
I don't understand this part.
Do you mean:
+ BEGIN (from "test_decoding: regression_slot" at lsn 0/AABBCCFF)
?
-- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services