On Thu, May 13, 2021 at 9:36 AM Bharath Rupireddy
<bharath.rupireddyforpostgres@gmail.com> wrote:
>
> On Thu, May 13, 2021 at 8:45 AM Japin Li <japinli@hotmail.com> wrote:
> > >> Dropping all the publications present in the subscription using alter
> > >> subscription drop publication would throw "subscription must contain
> > >> at least one publication". This message was slightly confusing to me.
> > >> As even though some publication was present on the subscription I was
> > >> not able to drop. Instead I feel we could throw an error message
> > >> something like "dropping specified publication will result in
> > >> subscription without any publication, this is not supported".
> > >
> > > -1 for that long message. The intention of that error was to throw an
> > > error if all the publications of a subscription are dropped. If that's
> > > so confusing, then you could just let the error message be
> > > "subscription must contain at least one publication", add an error
> > > detail "Subscription without any publication is not allowed to
> > > exist/is not supported." or "Removing/Dropping all the publications
> > > from a subscription is not allowed/supported." or some other better
> > > wording.
> > >
> >
> > Agree with Bharath. We can use a detail message. How about?
> >
> > if (!oldpublist)
> > ereport(ERROR,
> > (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
> > errmsg("subscription must contain at least one publication"),
> > errdetail("Dropping all the publications from a subscription is not supported")));
>
> Or how about just errmsg("cannot drop all the publications of the
> subscriber \"%s\"", subname) without any error detail?
IMHO, this message without errdetail looks much better.
--
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com