On Thursday, March 5, 2026 1:48 PM shveta malik <[email protected]> wrote:
> 
> On Thu, Mar 5, 2026 at 9:35 AM shveta malik <[email protected]>
> wrote:
> >
> > On Thu, Mar 5, 2026 at 8:16 AM Zhijie Hou (Fujitsu)
> > <[email protected]> wrote:
> > >
> > >
> > > Here is V10 patch set which addressed all comments.
> > >
> >
> > Thank You. Please find a few comments on 001:
> >
> 
> A concern in 002:
> 
> I realized that below might not be the correct logic to avoid overwriting
> sequences at sub which are already at latest values.
> 
> + /*
> + * Skip synchronization if the local sequence value is already ahead of
> + * the publisher's value.
> ...
> + */
> + if (local_last_value > seqinfo->last_value) { ereport(WARNING,
> + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
> + errmsg("skipped synchronizing the sequence \"%s.%s\"",
> +    seqinfo->nspname, seqinfo->seqname), errdetail("The local
> + last_value %lld is ahead of the one on publisher",
> +   (long long int) local_last_value));
> +
> + return COPYSEQ_NO_DRIFT;
> + }
> 
> 
> A sequence could be descending one too and thus we may wrongly end up
> avoiding synchronization. We should first check if it is descending or 
> ascending
> (perhaps by checking if increment_by < 0 or >0), then decide to manage
> conflict.

Thanks for catching this, I changed it to check the increment before reporting 
warning.

Best Regards,
Hou zj

Reply via email to