Feature: Import PostgreSQL 16 BETA1 new parser.
authorChen Ningwei <chen@sraoss.co.jp>
Mon, 31 Jul 2023 05:17:33 +0000 (14:17 +0900)
committerChen Ningwei <chen@sraoss.co.jp>
Mon, 31 Jul 2023 05:17:33 +0000 (14:17 +0900)
commitca300f8391f5963ff69248050b17393b6f93fab3
tree34620bcf260d399d12f5996aad7040a1ea9cf640
parentf66dd402acaf8fdd7597c2b2ab36292c89ccf47e
Feature: Import PostgreSQL 16 BETA1 new parser.

Major changes of PostgreSQL 16 parser include:

- Add new option DEFAULT to COPY FROM

  COPY ... FROM stdin WITH (default 'xx');

- Allow the STORAGE type to be specified by CREATE TABLE

  CREATE TABLE t1 (
     c1 VARCHAR(10) STORAGE PLAIN,
     c2 TEXT STORAGE EXTENDED
  );

- Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query

  EXPLAIN (GENERIC_PLAN) SELECT ...;

- Allow subqueries in the FROM clause to omit aliases

  SELECT COUNT(*) FROM (SELECT ... FROM ...);

- Add SQL/JSON constructors

- Add VACUUM options
  SKIP_DATABASE_STATS, ONLY_DATABASE_STATS to skip or update all frozen statistics
  PROCESS_MAIN to only process TOAST tables

  VACUUM (SKIP_DATABASE_STATS);
  VACUUM (PROCESS_MAIN FALSE) t1 ;
38 files changed:
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 [new file with mode: 0644]
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/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/pgstrcasecmp.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/nodes.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/test/regression/tests/010.rewrite_timestamp/timestamp/Makefile
src/utils/pgstrcasecmp.c