From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Split JSON lexer/parser from 'json' data type support. |
Date: | 2020-01-24 18:22:55 |
Message-ID: | E1iv3bb-000276-4o@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/11b5e3e35d3900164cb36754ee4e4dcab0bd02f0
Modified Files
--------------
src/backend/utils/adt/Makefile | 1 +
src/backend/utils/adt/json.c | 1206 +-------------------------------------
src/backend/utils/adt/jsonapi.c | 1216 +++++++++++++++++++++++++++++++++++++++
src/include/utils/jsonapi.h | 6 +
4 files changed, 1224 insertions(+), 1205 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2020-01-24 18:35:28 | pgsql: Remove jsonapi.c's lex_accept(). |
Previous Message | Robert Haas | 2020-01-24 18:08:49 | pgsql: Adjust src/include/utils/jsonapi.h so it's not backend-only. |