On Thu, Dec 21, 2023 at 12:07 PM Michael Paquier <mich...@paquier.xyz> wrote:
>
> On Thu, Dec 21, 2023 at 11:53:04AM +0530, Amit Kapila wrote:
> > On Thu, Dec 21, 2023 at 11:18 AM Michael Paquier <mich...@paquier.xyz> 
> > wrote:
> > Yeah, if one uses them independently then there is no such guarantee.
>
> This could be possible in the same query as well, still less likely,
> as the contents are volatile.
>

True, this is quite obvious but that was not a recommended way to use
the function. Anyway, now that we agree to expose it via an existing
function, there is no point in further argument on this.

> >>  A lot could happen between both function calls while the
> >> repslot LWLock is not hold.
> >>
> >> Yeah, you could keep the reason text as NULL when there is no
> >> conflict, replacing the boolean by the text in the function, and keep
> >> the view definition compatible with v16 while adding an extra column.
> >
> > But as mentioned we also want the enum value to be exposed in some way
> > so that it can be used by the sync slot feature [1] as well,
> > otherwise, we may need some mappings to convert the text back to an
> > enum. I guess if we want to expose via view, then we can return an
> > enum value by pg_get_replication_slots() and the view can replace it
> > with text based on the value.
>
> Sure.  Something like is OK by me as long as the data is retrieved
> from a single scan of the slot data while holding the slot data's
> LWLock.
>

Okay, so let's go this way unless someone feels otherwise.

-- 
With Regards,
Amit Kapila.


Reply via email to