Re: logicalrep_message_type throws an error

Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>

From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: Euler Taveira <euler@eulerto.com>
Cc: pgsql-hackers@lists.postgresql.org, Masahiko Sawada <sawada.mshk@gmail.com>
Date: 2023-07-03T13:57:50Z
Lists: pgsql-hackers

Attachments

On Mon, Jul 3, 2023 at 6:52 PM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:
>
> Thanks Euler for the patch.
>
> On Mon, Jul 3, 2023 at 6:32 PM Euler Taveira <euler@eulerto.com> wrote:
> >
> > Masahiko, since abc0910e2e0 is your patch maybe you want to take a look at it.
> >
>
> A couple of comments.
>
> -char *
> +const char *
>
> Nice improvement.
>
>  logicalrep_message_type(LogicalRepMsgType action)
>  {
>      switch (action)
> @@ -1256,9 +1256,7 @@ logicalrep_message_type(LogicalRepMsgType action)
>              return "STREAM ABORT";
>          case LOGICAL_REP_MSG_STREAM_PREPARE:
>              return "STREAM PREPARE";
> +        default:
> +            return "???";
>      }
> -
> -    elog(ERROR, "invalid logical replication message type \"%c\"", action);
> -
> -    return NULL;                /* keep compiler quiet */
>
> The switch is on action which is an enum. So without default it will
> provide a compilation warning for missing enums. Adding "default" case
> defeats that purpose. I think we should just return "???" from outside
> switch block.
>

PFA patch.

-- 
Best Wishes,
Ashutosh Bapat

Commits

  1. Fix the display of UNKNOWN message type in apply worker.