postgresql/src/include/executor
Alvaro Herrera 7081ac46ac
SQL/JSON: add standard JSON constructor functions
This commit introduces the SQL/JSON standard-conforming constructors for
JSON types:

JSON_ARRAY()
JSON_ARRAYAGG()
JSON_OBJECT()
JSON_OBJECTAGG()

Most of the functionality was already present in PostgreSQL-specific
functions, but these include some new functionality such as the ability
to skip or include NULL values, and to allow duplicate keys or throw
error when they are found, as well as the standard specified syntax to
specify output type and format.

Author: Nikita Glukhov <n.gluhov@postgrespro.ru>
Author: Teodor Sigaev <teodor@sigaev.ru>
Author: Oleg Bartunov <obartunov@gmail.com>
Author: Alexander Korotkov <aekorotkov@gmail.com>
Author: Amit Langote <amitlangote09@gmail.com>

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

Discussion: https://postgr.es/m/CAF4Au4w2x-5LTnN_bxky-mq4=WOqsGsxSpENCzHRAzSnEd8+WQ@mail.gmail.com
Discussion: https://postgr.es/m/cd0bb935-0158-78a7-08b5-904886deac4b@postgrespro.ru
Discussion: https://postgr.es/m/20220616233130.rparivafipt6doj3@alap3.anarazel.de
Discussion: https://postgr.es/m/abd9b83b-aa66-f230-3d6d-734817f0995d%40postgresql.org
2023-03-29 12:11:36 +02:00
..
execAsync.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
execdebug.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
execdesc.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
execExpr.h SQL/JSON: add standard JSON constructor functions 2023-03-29 12:11:36 +02:00
execParallel.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
execPartition.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
executor.h Invent GENERIC_PLAN option for EXPLAIN. 2023-03-24 17:07:22 -04:00
functions.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
hashjoin.h Improve the naming of Parallel Hash Join phases. 2023-03-23 13:14:25 +13:00
instrument.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeAgg.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeAppend.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeBitmapAnd.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeBitmapHeapscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeBitmapIndexscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeBitmapOr.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeCtescan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeCustom.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeForeignscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeFunctionscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeGather.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeGatherMerge.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeGroup.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeHash.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeHashjoin.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeIncrementalSort.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeIndexonlyscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeIndexscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeLimit.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeLockRows.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeMaterial.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeMemoize.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeMergeAppend.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeMergejoin.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeModifyTable.h Make new GENERATED-expressions code more bulletproof. 2023-01-15 13:14:52 -05:00
nodeNamedtuplestorescan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeNestloop.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeProjectSet.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeRecursiveunion.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeResult.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeSamplescan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeSeqscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeSetOp.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeSort.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeSubplan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeSubqueryscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeTableFuncscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeTidrangescan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeTidscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeUnique.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeValuesscan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeWindowAgg.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodeWorktablescan.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
spi.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
spi_priv.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
tablefunc.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
tqueue.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
tstoreReceiver.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
tuptable.h Allow locking updated tuples in tuple_update() and tuple_delete() 2023-03-23 00:26:59 +03:00