On Thu, Nov 16, 2023 at 12:18 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Thu, Nov 16, 2023 at 3:48 AM Peter Smith <smithpb2...@gmail.com> wrote: > > > > ~ > > > > SUGGESTION (#1a and #1b) > > > > ereport(log_replication_commands ? LOG : DEBUG1, > > errmsg(SlotIsLogical(s) > > ? "acquired logical replication slot \"%s\"" > > : "acquired physical replication slot \"%s\"", > > NameStr(s->data.name))); > > > > ~~~ > > > > Personally, I prefer the way Bharath had in his patch. Did you see any > preferred way in the existing code?
Not really. I think the errmsg combined with ternary is not so common. I couldn't find many examples, so I wouldn't try to claim anything is a "preferred" way There are some existing examples, like Bharath had: ereport(NOTICE, (errcode(ERRCODE_DUPLICATE_OBJECT), collencoding == -1 ? errmsg("collation \"%s\" already exists, skipping", collname) : errmsg("collation \"%s\" for encoding \"%s\" already exists, skipping", collname, pg_encoding_to_char(collencoding)))); OTOH, when there are different numbers of substitution parameters in each of the errmsg like that, you don't have much choice but to do it that way. I am fine with whatever is chosen -- I was only offering an alternative. ====== Kind Regards, Peter Smith. Fujitsu Australia