Re: making the backend's json parser work in frontend code
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Mahendra Singh Thalor <mahi6run@gmail.com>,
Mark Dilger <mark.dilger@enterprisedb.com>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>,
David Steele <david@pgmasters.net>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-01-28T15:21:05Z
Lists: pgsql-hackers
On Tue, Jan 28, 2020 at 4:06 PM Robert Haas <robertmhaas@gmail.com> wrote: > > 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? FTR this has unfortunately the same result on Thomas' automatic patch tester, e.g. https://travis-ci.org/postgresql-cfbot/postgresql/builds/642634195#L1968
Commits
-
Add jsonapi.c to Mkvcbuild.pm's @pgcommonallfiles.
- 006b9dcad419 13.0 landed
-
Move jsonapi.c and jsonapi.h to src/common.
- beb4699091e9 13.0 landed
-
Move some code from jsonapi.c to jsonfuncs.c.
- 73ce2a03f30b 13.0 landed
-
Adjust pg_parse_json() so that it does not directly ereport().
- 1f3a021730be 13.0 landed
-
Remove jsonapi.c's lex_accept().
- 530609aa4263 13.0 landed
-
Split JSON lexer/parser from 'json' data type support.
- 11b5e3e35d39 13.0 landed
-
Rationalize code placement between wchar.c, encnames.c, and mbutils.c.
- 5afaa2e42655 13.0 landed
-
Move wchar.c and encnames.c to src/common/.
- e6afa8918c46 13.0 landed
-
Update header comments for wchar.c and encnames.c.
- 3d4cb5d6c180 13.0 landed
-
Make StringInfo available to frontend code.
- 26aaf97b683d 13.0 cited
-
Use SASLprep to normalize passwords for SCRAM authentication.
- 60f11b87a234 10.0 cited