Feature: Import PostgreSQL 17 RC1 new parser.
authorBo Peng <pengbo@sraoss.co.jp>
Mon, 21 Oct 2024 10:08:05 +0000 (19:08 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Mon, 21 Oct 2024 10:08:05 +0000 (19:08 +0900)
commitb58a3c6304d31c76416ebf253e69086dadc186bc
tree792adffdff66899bd66a5a17260ac72cedd8b05e
parentf84c2a6345367bd6aee05b87dd5e573be724f715
Feature: Import PostgreSQL 17 RC1 new parser.

Major changes of PostgreSQL 17 parser include:

- Allow MERGE to use NOT MATCHED BY SOURCE and RETURNING clause:

    MERGE INTO ... WHEN NOT MATCHED BY SOURCE ...
    MERGE INTO ... RETURNING ...

- Add new COPY option ON_ERROR ignore and LOG_VERBOSITY:

  COPY ... WITH (ON_ERROR ignore);
  COPY ... WITH (LOG_VERBOSITY verbose);

- Allow to use '*' to specify the COPY FROM options FORCE_NOT_NULL and FORCE_NULL for all columns.

  COPY ... WITH (FORCE_NOT_NULL *);
  COPY ... WITH (FORCE_NULL *);

- Add EXPLAIN option SERIALIZE and MEMORY

  EXPLAIN (MEMORY) ...
  EXPLAIN (ANALYZE, SERIALIZE ...) ...

- Allow ALTER TABLE to use SET STATISTICS DEFAULT to set a column to the default statistics target

  ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DEFAULT;

- Allow ALTER TABLE to change a column's generation expression

  ALTER TABLE ... ALTER COLUMN ... SET EXPRESSION;

- Add DEFAULT setting for ALTER TABLE .. SET ACCESS METHOD

  ALTER TABLE ... SET STATISTICS DEFAULT;

- Allow event triggers to use login event:

  CREATE EVENT TRIGGER ... ON login ...

- Add event trigger support for REINDEX.
38 files changed:
src/include/parser/gramparse.h
src/include/parser/keywords.h
src/include/parser/kwlist.h
src/include/parser/kwlist_d.h
src/include/parser/makefuncs.h
src/include/parser/nodes.h
src/include/parser/nodetags.h
src/include/parser/parsenodes.h
src/include/parser/parser.h
src/include/parser/pg_class.h
src/include/parser/pg_config_manual.h
src/include/parser/pg_list.h
src/include/parser/pg_trigger.h
src/include/parser/pg_wchar.h
src/include/parser/pool_parser.h
src/include/parser/primnodes.h
src/include/parser/scanner.h
src/include/parser/scansup.h
src/include/parser/stringinfo.h
src/include/parser/value.h
src/include/utils/palloc.h
src/parser/copyfuncs.c
src/parser/gram.y
src/parser/gram_minimal.y
src/parser/gram_template.y
src/parser/keywords.c
src/parser/kwlookup.c
src/parser/list.c
src/parser/makefuncs.c
src/parser/outfuncs.c
src/parser/parser.c
src/parser/scan.l
src/parser/scansup.c
src/parser/snprintf.c
src/parser/stringinfo.c
src/parser/value.c
src/parser/wchar.c
src/utils/mmgr/mcxt.c