pg_dumpall: Fix handling of conflicting options.

pg_dumpall is missing checks for some conflicting options,
including those passed through to pg_dump.  To fix, introduce a
new function that checks whether mutually exclusive options are
set, and use that in pg_dumpall.  A similar change could likely be
made for pg_dump and pg_restore, but that is left as a future
exercise.

This is arguably a bug fix, but since this might break existing
scripts, no back-patch for now.

Author: Jian He <[email protected]>
Co-authored-by: Nathan Bossart <[email protected]>
Reviewed-by: Wang Peng <[email protected]>
Reviewed-by: Zsolt Parragi <[email protected]>
Reviewed-by: Chao Li <[email protected]>
Discussion: 
https://postgr.es/m/CACJufxFf5%3DwSv2MsuO8iZOvpLZQ1-meAMwhw7JX5gNvWo5PDug%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b2898baaf7e40a187de5b0134d53d944b38209cd

Modified Files
--------------
src/bin/pg_dump/pg_dumpall.c                | 70 +++++++++++++++--------------
src/bin/pg_dump/t/001_basic.pl              | 34 +++++++++++++-
src/bin/pg_dump/t/002_pg_dump.pl            |  2 -
src/bin/pg_dump/t/005_pg_dump_filterfile.pl |  4 +-
src/fe_utils/option_utils.c                 | 35 +++++++++++++++
src/include/fe_utils/option_utils.h         |  6 +++
6 files changed, 111 insertions(+), 40 deletions(-)

Reply via email to