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-LXDcQA@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(-)