[pgpool-committers: 10169] pgpool: Feature: Import PostgreSQL 17 RC1 new parser.

Bo Peng pengbo at sraoss.co.jp
Mon Oct 21 19:09:04 JST 2024


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.

Branch
------
master

Details
-------
https://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=b58a3c6304d31c76416ebf253e69086dadc186bc

Modified Files
--------------
src/include/parser/gramparse.h        |   4 +-
src/include/parser/keywords.h         |   4 +-
src/include/parser/kwlist.h           |  26 +-
src/include/parser/kwlist_d.h         | 981 ++++++++++++++++++----------------
src/include/parser/makefuncs.h        |  12 +-
src/include/parser/nodes.h            |  75 ++-
src/include/parser/nodetags.h         | 908 ++++++++++++++++---------------
src/include/parser/parsenodes.h       | 535 ++++++++++++------
src/include/parser/parser.h           |   8 +-
src/include/parser/pg_class.h         |  20 +-
src/include/parser/pg_config_manual.h |  31 +-
src/include/parser/pg_list.h          |  75 ++-
src/include/parser/pg_trigger.h       |  10 +-
src/include/parser/pg_wchar.h         | 117 +++-
src/include/parser/pool_parser.h      |   2 +-
src/include/parser/primnodes.h        | 396 ++++++++++++--
src/include/parser/scanner.h          |   4 +-
src/include/parser/scansup.h          |   4 +-
src/include/parser/stringinfo.h       | 106 +++-
src/include/parser/value.h            |   4 +-
src/include/utils/palloc.h            |  14 -
src/parser/copyfuncs.c                | 578 ++++++++++++++++++--
src/parser/gram.y                     | 847 ++++++++++++++++++++++++-----
src/parser/gram_minimal.y             | 847 ++++++++++++++++++++++++-----
src/parser/gram_template.y            | 847 ++++++++++++++++++++++++-----
src/parser/keywords.c                 |   4 +-
src/parser/kwlookup.c                 |   4 +-
src/parser/list.c                     |   4 +-
src/parser/makefuncs.c                |  81 ++-
src/parser/outfuncs.c                 | 417 ++++++++++++++-
src/parser/parser.c                   |  26 +-
src/parser/scan.l                     |  29 +-
src/parser/scansup.c                  |   5 +-
src/parser/snprintf.c                 |   4 +-
src/parser/stringinfo.c               |  29 +-
src/parser/value.c                    |   4 +-
src/parser/wchar.c                    | 323 +++++------
src/utils/mmgr/mcxt.c                 |  37 --
38 files changed, 5442 insertions(+), 1980 deletions(-)



More information about the pgpool-committers mailing list