pgsql: Adjust pg_parse_json() so that it does not directly ereport().
От | Robert Haas |
---|---|
Тема | pgsql: Adjust pg_parse_json() so that it does not directly ereport(). |
Дата | |
Msg-id | E1iw770-0005zi-SZ@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Adjust pg_parse_json() so that it does not directly ereport(). Instead, it now returns a value indicating either success or the type of error which occurred. The old behavior is still available by calling pg_parse_json_or_ereport(). If the new interface is used, an error can be thrown by passing the return value of pg_parse_json() to json_ereport_error(). pg_parse_json() can still elog() in can't-happen cases, but it seems like that issue is best handled separately. Adjust json_lex() and json_count_array_elements() to return an error code, too. This is all in preparation for making the backend's json parser available to frontend code. Reviewed and/or tested by Mark Dilger and Andrew Dunstan. Discussion: http://postgr.es/m/CA+TgmoYfOXhd27MUDGioVh6QtpD0C1K-f6ObSA10AWiHBAL5bA@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/1f3a021730be98b880d94cabbe21de7e4d8136f5 Modified Files -------------- src/backend/utils/adt/json.c | 9 +- src/backend/utils/adt/jsonapi.c | 537 +++++++++++++++++++------------------- src/backend/utils/adt/jsonb.c | 4 +- src/backend/utils/adt/jsonfuncs.c | 29 +- src/include/utils/jsonapi.h | 46 +++- 5 files changed, 342 insertions(+), 283 deletions(-)
В списке pgsql-committers по дате отправления: