Revise parse tree representation for VACUUM and ANALYZE.

Like commit f41551f61f9cf4eedd5b7173f985a3bdb4d9858c, this aims
to make it easier to add non-Boolean options to VACUUM (or, in
this case, to ANALYZE).  Instead of building up a bitmap of
options directly in the parser, build up a list of DefElem
objects and let ExecVacuum() sort it out; right now, we make
no use of the fact that a DefElem can carry an associated value,
but it will be easy to make that change in the future.

Masahiko Sawada

Discussion: 
http://postgr.es/m/cad21aoate4sn0jffh3ncfuzxku2bmbjbwb_kdj-xwya-lxd...@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6776142a07afb4c28961f27059d800196902f5f1

Modified Files
--------------
src/backend/commands/vacuum.c        | 52 ++++++++++++++++----
src/backend/parser/gram.y            | 94 ++++++++++++++++--------------------
src/backend/tcop/utility.c           |  6 +--
src/include/commands/vacuum.h        | 17 ++++++-
src/include/nodes/parsenodes.h       | 26 +++-------
src/test/regress/expected/vacuum.out |  6 ++-
src/test/regress/sql/vacuum.sql      |  1 +
7 files changed, 116 insertions(+), 86 deletions(-)

Reply via email to