postgresql/src/include
Amit Langote 03734a7fed Add more SQL/JSON constructor functions
This Patch introduces three SQL standard JSON functions:

JSON()
JSON_SCALAR()
JSON_SERIALIZE()

JSON() produces json values from text, bytea, json or jsonb values,
and has facilitites for handling duplicate keys.

JSON_SCALAR() produces a json value from any scalar sql value,
including json and jsonb.

JSON_SERIALIZE() produces text or bytea from input which containis
or represents json or jsonb;

For the most part these functions don't add any significant new
capabilities, but they will be of use to users wanting standard
compliant JSON handling.

Catversion bumped as this changes ruleutils.c.

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: Andrew Dunstan <andrew@dunslane.net>
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, Álvaro Herrera,
Peter Eisentraut

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
Discussion: https://postgr.es/m/CA+HiwqE4XTdfb1nW=Ojoy_tQSRhYt-q_kb6i5d4xcKyrLC1Nbg@mail.gmail.com
2023-07-26 17:08:33 +09:00
..
access nbtree: Allocate new pages in separate function. 2023-06-10 14:08:25 -07:00
archive Redesign archive modules 2023-02-17 14:26:42 +09:00
backup Fix some typos and some incorrectly duplicated words 2023-04-18 14:03:49 +12:00
bootstrap Update copyright for 2023 2023-01-02 15:00:37 -05:00
catalog Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
commands Report index vacuum progress. 2023-07-11 12:34:01 +09:00
common Remove stray mid-sentence tabs in comments 2023-05-19 16:13:16 +02:00
datatype Code review for commit 05a7be935. 2023-01-26 12:51:00 -05:00
executor Allow the use of a hash index on the subscriber during replication. 2023-07-14 08:21:54 +05:30
fe_utils Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
foreign Update copyright for 2023 2023-01-02 15:00:37 -05:00
jit Update copyright for 2023 2023-01-02 15:00:37 -05:00
lib Fix type of iterator variable in SH_START_ITERATE 2023-07-06 09:57:28 -07:00
libpq Revert "Add notBefore and notAfter to SSL cert info display" 2023-07-20 17:18:12 +02:00
mb Update copyright for 2023 2023-01-02 15:00:37 -05:00
nodes Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
optimizer Allow plan nodes with initPlans to be considered parallel-safe. 2023-07-14 11:41:20 -04:00
parser Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
partitioning Revert "Move PartitionPruneInfo out of plan nodes into PlannedStmt" 2023-05-04 12:09:59 +02:00
pch Update copyright for 2023 2023-01-02 15:00:37 -05:00
port Remove wal_sync_method=fsync_writethrough on Windows. 2023-07-14 12:30:13 +12:00
portability instr_time: Represent time as an int64 on all platforms 2023-01-20 21:16:47 -08:00
postmaster Increase size of bgw_library_name. 2023-07-03 15:02:16 -07:00
regex Fix various typos 2023-04-18 13:23:23 +12:00
replication Remove unnecessary checks for indexes for REPLICA IDENTITY FULL tables. 2023-07-25 15:09:34 +09:00
rewrite Make Vars be outer-join-aware. 2023-01-30 13:16:20 -05:00
snowball Update copyright for 2023 2023-01-02 15:00:37 -05:00
statistics Add macro for maximum statistics target 2023-07-03 07:18:57 +02:00
storage Optimize WAL insertion lock acquisition and release with some atomics 2023-07-25 13:38:58 +09:00
tcop Update copyright for 2023 2023-01-02 15:00:37 -05:00
tsearch Update tsearch regex memory management. 2023-04-08 22:09:17 +12:00
utils Add more SQL/JSON constructor functions 2023-07-26 17:08:33 +09:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
Makefile Generate automatically code and documentation related to wait events 2023-07-05 10:53:11 +09:00
c.h Introduce PG_IO_ALIGN_SIZE and align all I/O buffers. 2023-04-08 16:34:50 +12:00
fmgr.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
funcapi.h Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
getopt_long.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
meson.build meson: Make some Meson style more consistent with surrounding code 2023-06-29 13:06:02 +02:00
miscadmin.h Fix privilege check for SET SESSION AUTHORIZATION. 2023-07-13 21:13:45 -07:00
pg_config.h.in Remove --disable-thread-safety and related code. 2023-07-12 08:20:43 +12:00
pg_config_ext.h.in
pg_config_ext.h.meson meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
pg_config_manual.h Update PG_CACHE_LINE_SIZE description. 2023-07-03 11:56:30 +03:00
pg_getopt.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
pg_trace.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
pgstat.h Add writeback to pg_stat_io 2023-05-17 11:18:35 -07:00
pgtar.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
pgtime.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
port.h Rename port/thread.c to port/user.c. 2023-07-09 18:17:09 +12:00
postgres.h New header varatt.h split off from postgres.h 2023-01-10 05:54:36 +01:00
postgres_ext.h Move RelFileNumber declarations to common/relpath.h. 2022-09-27 12:01:57 -04:00
postgres_fe.h Update copyright for 2023 2023-01-02 15:00:37 -05:00
varatt.h New header varatt.h split off from postgres.h 2023-01-10 05:54:36 +01:00
windowapi.h Update copyright for 2023 2023-01-02 15:00:37 -05:00