]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Split JSON lexer/parser from 'json' data type support.
authorRobert Haas <rhaas@postgresql.org>
Fri, 24 Jan 2020 18:17:43 +0000 (10:17 -0800)
committerRobert Haas <rhaas@postgresql.org>
Fri, 24 Jan 2020 18:17:43 +0000 (10:17 -0800)
commit11b5e3e35d3900164cb36754ee4e4dcab0bd02f0
tree6555b0d178f7f0f5785eb2cc5ef83687dc24702c
parentce0425b162d0a8c168e1fbab5324fb1cbca4b6b7
Split JSON lexer/parser from 'json' data type support.

Keep the code that pertains to the 'json' data type in json.c, but
move the lexing and parsing code to a new file jsonapi.c, a name
I chose because the corresponding prototypes are in jsonapi.h.

This seems like a logical division, because the JSON lexer and parser
are also used by the 'jsonb' data type, but the SQL-callable functions
in json.c are a separate thing. Also, the new jsonapi.c file needs to
include far fewer header files than json.c, which seems like a good
sign that this is an appropriate place to insert an abstraction
boundary. I took the opportunity to remove a few apparently-unneeded
includes from json.c at the same time.

Patch by me, reviewed by David Steele, Mark Dilger, and Andrew
Dunstan. The previous commit was, too, but I forgot to note it
in the commit message.

Discussion: http://postgr.es/m/CA+TgmoYfOXhd27MUDGioVh6QtpD0C1K-f6ObSA10AWiHBAL5bA@mail.gmail.com
src/backend/utils/adt/Makefile
src/backend/utils/adt/json.c
src/backend/utils/adt/jsonapi.c [new file with mode: 0644]
src/include/utils/jsonapi.h