On Thu, Sep 24, 2020 at 4:31 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > > On Thu, Sep 24, 2020 at 11:55 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > On Tue, Sep 22, 2020 at 5:15 PM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > > > On Tue, Sep 22, 2020 at 12:02 PM Amit Kapila <amit.kapil...@gmail.com> > > > wrote: > > > > > > > > > > > > I am not sure if this suggestion makes it better than what is purposed > > > > by Dilip but I think we can declare them in define number order like > > > > below: > > > > #define LOGICALREP_PROTO_MIN_VERSION_NUM 1 > > > > #define LOGICALREP_PROTO_VERSION_NUM 1 > > > > #define LOGICALREP_PROTO_STREAM_VERSION_NUM 2 > > > > #define LOGICALREP_PROTO_MAX_VERSION_NUM > > > > LOGICALREP_PROTO_STREAM_VERSION_NUM > > > > > > Done this way. > > > > > > > - options.proto.logical.proto_version = LOGICALREP_PROTO_VERSION_NUM; > > + options.proto.logical.proto_version = MySubscription->stream ? > > + LOGICALREP_PROTO_STREAM_VERSION_NUM : LOGICALREP_PROTO_VERSION_NUM; > > > > Here, I think instead of using MySubscription->stream, we should use > > server/walrecv version number as we used at one place in tablesync.c. > > I am not sure how can we do this? >
Have you checked what will function walrcv_server_version() will return? I was thinking that if we know that subscriber is connected to Publisher version < 14 then we can send the right value. -- With Regards, Amit Kapila.