pgsql: JSON_TABLE

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема pgsql: JSON_TABLE
Дата
Msg-id E1nbTEj-000KY7-B7@gemulon.postgresql.org
обсуждение исходный текст
Ответы Re: pgsql: JSON_TABLE  (Erik Rijkers <er@xs4all.nl>)
Список pgsql-committers
JSON_TABLE

This feature allows jsonb data to be treated as a table and thus used in
a FROM clause like other tabular data. Data can be selected from the
jsonb using jsonpath expressions, and hoisted out of nested structures
in the jsonb to form multiple rows, more or less like an outer join.

Nikita Glukhov

Reviewers have included (in no particular order) Andres Freund, Alexander
Korotkov, Pavel Stehule, Andrew Alsup, Erik Rijkers, Zhihong Yu (whose
name I previously misspelled), Himanshu Upadhyaya, Daniel Gustafsson,
Justin Pryzby.

Discussion: https://postgr.es/m/7e2cb85d-24cf-4abb-30a5-1a33715959bd@postgrespro.ru

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4e34747c88a03ede6e9d731727815e37273d4bc9

Modified Files
--------------
src/backend/commands/explain.c              |   8 +-
src/backend/executor/execExpr.c             |   1 +
src/backend/executor/execExprInterp.c       |  18 +-
src/backend/executor/nodeTableFuncscan.c    |  23 +-
src/backend/nodes/copyfuncs.c               |  85 +++++
src/backend/nodes/equalfuncs.c              |  65 ++++
src/backend/nodes/nodeFuncs.c               |  27 ++
src/backend/nodes/outfuncs.c                |  29 ++
src/backend/nodes/readfuncs.c               |  31 ++
src/backend/parser/Makefile                 |   1 +
src/backend/parser/gram.y                   | 199 +++++++++-
src/backend/parser/parse_clause.c           |  12 +-
src/backend/parser/parse_expr.c             |  32 +-
src/backend/parser/parse_jsontable.c        | 466 +++++++++++++++++++++++
src/backend/parser/parse_relation.c         |   3 +-
src/backend/parser/parse_target.c           |   3 +
src/backend/utils/adt/jsonpath_exec.c       | 436 +++++++++++++++++++++
src/backend/utils/adt/ruleutils.c           | 228 ++++++++++-
src/backend/utils/misc/queryjumble.c        |   2 +
src/include/executor/execExpr.h             |   4 +
src/include/nodes/nodes.h                   |   4 +
src/include/nodes/parsenodes.h              |  48 +++
src/include/nodes/primnodes.h               |  39 +-
src/include/parser/kwlist.h                 |   3 +
src/include/parser/parse_clause.h           |   3 +
src/include/utils/jsonpath.h                |   4 +
src/test/regress/expected/json_sqljson.out  |   6 +
src/test/regress/expected/jsonb_sqljson.out | 562 ++++++++++++++++++++++++++++
src/test/regress/sql/json_sqljson.sql       |   4 +
src/test/regress/sql/jsonb_sqljson.sql      | 284 ++++++++++++++
src/tools/pgindent/typedefs.list            |   9 +
31 files changed, 2605 insertions(+), 34 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: pgsql: vacuumlazy.c: Further consolidate resource allocation.
Следующее
От: Andres Freund
Дата:
Сообщение: pgsql: pgstat: consistent function comment formatting.