pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Nathan Bossart <nathan@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Provide a better error message for misplaced dispatch options.
Date: Wed, 04 Dec 2024 21:05:34 +0000
Message-ID: <E1tIwYw-0018M9-5S@gemulon.postgresql.org> (raw)

Provide a better error message for misplaced dispatch options.

Before this patch, misplacing a special must-be-first option for
dispatching to a subprogram (e.g., postgres -D . --single) would
fail with an error like

        FATAL:  --single requires a value

This patch adjusts this error to more accurately complain that the
special option wasn't listed first.  The aforementioned error
message now looks like

        FATAL:  --single must be first argument

The dispatch option parsing code has been refactored for use
wherever ParseLongOption() is called.  Beyond the obvious advantage
of avoiding code duplication, this should prevent similar problems
when new dispatch options are added.  Note that we assume that none
of the dispatch option names match another valid command-line
argument, such as the name of a configuration parameter.

Ideally, we'd remove this must-be-first requirement for these
options, but after some investigation, we decided that wasn't worth
the added complexity and behavior changes.

Author: Nathan Bossart, Greg Sabino Mullane
Reviewed-by: Greg Sabino Mullane, Peter Eisentraut, Álvaro Herrera, Tom Lane
Discussion: https://postgr.es/m/CAKAnmmJkZtZAiSryho%3DgYpbvC7H-HNjEDAh16F3SoC9LPu8rqQ%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/76fd342496612c8432ef8f6c71794c935497d3c9

Modified Files
--------------
src/backend/bootstrap/bootstrap.c   | 15 ++++++-
src/backend/main/main.c             | 86 +++++++++++++++++++++++++++++++------
src/backend/postmaster/postmaster.c | 15 ++++++-
src/backend/tcop/postgres.c         | 15 ++++++-
src/include/postmaster/postmaster.h | 17 ++++++++
src/tools/pgindent/typedefs.list    |  1 +
6 files changed, 133 insertions(+), 16 deletions(-)



Message-ID: <E1tIwYw-0018M9-5S@gemulon.postgresql.org>
Permalink:  ../E1tIwYw-0018M9-5S@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1tIwYw-0018M9-5S@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: nathan@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Provide a better error message for misplaced dispatch options.
  In-Reply-To: <E1tIwYw-0018M9-5S@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox