On 31 July 2018 at 14:58, Andres Freund <and...@anarazel.de> wrote:

> Hi,
>
> On 2018-07-31 14:51:12 -0400, Dave Cramer wrote:
> > This patch does 2 things
> >
> > 1) Ensure that when the slot is created
> > with pg_create_physical_replication_slot if the output plugin does not
> > exist it will error.
>
> *logical, I assume?
>
> Yes, logical.

>
> > diff --git a/src/backend/replication/logical/logical.c
> b/src/backend/replication/logical/logical.c
> > index 3cd4eef..9f883b9 100644
> > --- a/src/backend/replication/logical/logical.c
> > +++ b/src/backend/replication/logical/logical.c
> > @@ -143,8 +143,7 @@ StartupDecodingContext(List *output_plugin_options,
> >        * (re-)load output plugins, so we detect a bad (removed) output
> plugin
> >        * now.
> >        */
> > -     if (!fast_forward)
> > -             LoadOutputPlugin(&ctx->callbacks,
> NameStr(slot->data.plugin));
> > +     LoadOutputPlugin(&ctx->callbacks, NameStr(slot->data.plugin));
>
> So this actually was broken by 9c7d06d60680c7f00d931233873dee81fdb311c6
> and worked before? Petr, Simon?  Isn't the actual bug here that
> CreateInitDecodingContext() passes true for fast_forward?  Dave, could
> you confirm this is the case?  If so, this'll end up actually being an
> open items entry...
>

Ya, I think that is really the issue. I will redo my patch

>
>
> >       /*
> >        * Now that the slot's xmin has been set, we can announce
> ourselves as a
> > @@ -312,7 +311,7 @@ CreateInitDecodingContext(char *plugin,
> >       ReplicationSlotSave();
> >
> >       ctx = StartupDecodingContext(NIL, InvalidXLogRecPtr, xmin_horizon,
> > -
> need_full_snapshot, true,
> > +
> need_full_snapshot, true,
> >
> read_page, prepare_write, do_write,
> >
> update_progress);
>

Hmmm, I guess I should read my patches more carefully before sending them

> Huh?
>
>
>


Dave Cramer

Reply via email to