Re: making the backend's json parser work in frontend code - Mailing list pgsql-hackers

From Robert Haas
Subject Re: making the backend's json parser work in frontend code
Date
Msg-id CA+TgmoYz+G5xvyuaTDqkQThMZPF7h1JNeHJ1UZghnGjrYSVJ+w@mail.gmail.com
Whole thread Raw
In response to Re: making the backend's json parser work in frontend code  (Mahendra Singh Thalor <mahi6run@gmail.com>)
Responses Re: making the backend's json parser work in frontend code  (Julien Rouhaud <rjuju123@gmail.com>)
Re: making the backend's json parser work in frontend code  (Mahendra Singh Thalor <mahi6run@gmail.com>)
List pgsql-hackers
On Mon, Jan 27, 2020 at 2:02 PM Mahendra Singh Thalor
<mahi6run@gmail.com> wrote:
> I can see one warning on HEAD.
>
> jsonapi.c: In function ‘json_errdetail’:
> jsonapi.c:1068:1: warning: control reaches end of non-void function
> [-Wreturn-type]
>  }
>  ^
>
> Attaching a patch to fix warning.

Hmm, I don't get a warning there. This function is a switch over an
enum type with a case for every value of the enum, and every branch
either does a "return" or an "elog," so any code after the switch
should be unreachable. It's possible your compiler is too dumb to know
that, but I thought there were other places in the code base where we
assumed that if we handled every defined value of enum, that was good
enough.

But maybe not. I found similar coding in CreateDestReceiver(), and
that ends with:

        /* should never get here */
        pg_unreachable();

So perhaps we need the same thing here. Does adding that fix it for you?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Mark Dilger
Date:
Subject: Re: Allow to_date() and to_timestamp() to accept localized names
Next
From: Robert Haas
Date:
Subject: Re: making the backend's json parser work in frontend code