On Tue, Jul 14, 2020 at 2:47 PM Petr Jelinek <p...@2ndquadrant.com> wrote: > > Hi, > > On 14/07/2020 10:29, Amit Kapila wrote: > > On Tue, Jul 14, 2020 at 12:05 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > >> > >> On Tue, Jul 14, 2020 at 11:14 AM Amit Kapila <amit.kapil...@gmail.com> > >> wrote: > >>> > >>> On Tue, Jul 14, 2020 at 11:00 AM Dilip Kumar <dilipbal...@gmail.com> > >>> wrote: > >>>> > >>>> On Thu, Jul 9, 2020 at 6:55 PM Amit Kapila <amit.kapil...@gmail.com> > >>>> wrote: > >>>>> > >>>>> On Thu, Jul 9, 2020 at 6:14 PM Petr Jelinek <p...@2ndquadrant.com> > >>>>> wrote: > >>>>>> > >>>>>> > >>>>>> If we were to support the origin forwarding, then strictly speaking we > >>>>>> need everything only at commit time from correctness perspective, > >>>>>> > >>>>> > >>>>> Okay. Anyway streaming mode is optional, so in such cases, we can keep > >>>>> it 'off' > >>>>> > >>>>>> but > >>>>>> ideally origin_id would be best sent with first message as it can be > >>>>>> used to filter out changes at decoding stage rather than while we > >>>>>> process the commit so having it set early improves performance of > >>>>>> decoding. > >>>>>> > >>>>> > >>>>> Yeah, makes sense. So, we will just send origin_id (with first > >>>>> streaming start message) and leave others. > >>>> > >>>> So IIUC, currently we are sending the latest origin_id which is set > >>>> during the commit time. So in our case, while we start streaming we > >>>> will send the origin_id of the latest change in the current stream > >>>> right? > >>>> > >>> > >>> It has to be sent only once with the first start message not with > >>> consecutive start messages. > >> > >> Okay, so do you mean to say that with the first start message we send > >> the origin_id of the latest change? > >> > > > > Yes. > > > >> because during the transaction > >> lifetime, the origin id can be changed. > >> > > > > Yeah, it could be changed but if we have to send again apart from with > > the first message then it should be sent with each message. So, I > > think it is better to just send it once during the transaction as we > > do it now (send with begin message). > > > > > > I am not sure if I can follow the discussion here very well, but if I > understand correctly I'd like to clarify two things: > - origin id does not change mid transaction as you can only have one per xid >
As shown by Dilip, I don't think currently we have any way to prevent this from changing during the transaction. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com