postgresql/src/include/nodes
Dean Rasheed 88327092ff Add support for INSERT ... ON CONFLICT DO SELECT.
This adds a new ON CONFLICT action DO SELECT [FOR UPDATE/SHARE], which
returns the pre-existing rows when conflicts are detected. The INSERT
statement must have a RETURNING clause, when DO SELECT is specified.

The optional FOR UPDATE/SHARE clause allows the rows to be locked
before they are are returned. As with a DO UPDATE conflict action, an
optional WHERE clause may be used to prevent rows from being selected
for return (but as with a DO UPDATE action, rows filtered out by the
WHERE clause are still locked).

Bumps catversion as stored rules change.

Author: Andreas Karlsson <andreas@proxel.se>
Author: Marko Tiikkaja <marko@joh.to>
Author: Viktor Holmberg <v@viktorh.net>
Reviewed-by: Joel Jacobson <joel@compiler.org>
Reviewed-by: Kirill Reshke <reshkekirill@gmail.com>
Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com>
Reviewed-by: Jian He <jian.universality@gmail.com>
Discussion: https://postgr.es/m/d631b406-13b7-433e-8c0b-c6040c4b4663@Spark
Discussion: https://postgr.es/m/5fca222d-62ae-4a2f-9fcb-0eca56277094@Spark
Discussion: https://postgr.es/m/2b5db2e6-8ece-44d0-9890-f256fdca9f7e@proxel.se
Discussion: https://postgr.es/m/CAL9smLCdV-v3KgOJX3mU19FYK82N7yzqJj2HAwWX70E=P98kgQ@mail.gmail.com
2026-02-12 09:57:04 +00:00
..
.gitignore Automatically generate node support functions 2022-07-09 08:53:59 +02:00
bitmapset.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
execnodes.h Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
extensible.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
lockoptions.h Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
makefuncs.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
memnodes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
meson.build Update copyright for 2026 2026-01-01 13:24:10 -05:00
miscnodes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
multibitmapset.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
nodeFuncs.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
nodes.h Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
params.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
parsenodes.h Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
pathnodes.h Store information about Append node consolidation in the final plan. 2026-02-10 17:55:59 -05:00
pg_list.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
plannodes.h Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
primnodes.h Add support for INSERT ... ON CONFLICT DO SELECT. 2026-02-12 09:57:04 +00:00
print.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
queryjumble.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
readfuncs.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
replnodes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
subscripting.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
supportnodes.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
tidbitmap.h Update copyright for 2026 2026-01-01 13:24:10 -05:00
value.h Update copyright for 2026 2026-01-01 13:24:10 -05:00