Re: pg14 psql broke \d datname.nspname.relname - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pg14 psql broke \d datname.nspname.relname
Date
Msg-id 3535097.1649374905@sss.pgh.pa.us
Whole thread Raw
In response to Re: pg14 psql broke \d datname.nspname.relname  (Mark Dilger <mark.dilger@enterprisedb.com>)
Responses Re: pg14 psql broke \d datname.nspname.relname  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Mark Dilger <mark.dilger@enterprisedb.com> writes:
> The patch submitted changes processSQLNamePattern() to return a dot count by reference.  It's up to the caller to
decidewhether to raise an error.  If you pass in no schemavar, and you get back dotcnt=2, you know it parsed it as a
twopart pattern, and you can pg_fatal(...) or ereport(ERROR, ...) or whatever. 

Well, I'm not telling Robert what to do, but I wouldn't accept that
API.  It requires duplicative error-handling code at every call site
and is an open invitation to omitting necessary error checks.

Possibly a better idea is to add an enum argument telling the function
what to do (parse the whole thing as one name regardless of dots,
parse as two names if there's a dot, throw error if there's a dot,
etc etc as needed by existing call sites).  Perhaps some of the
existing arguments could be merged into such an enum, too.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: shared-memory based stats collector - v70
Next
From: Michael Paquier
Date:
Subject: Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]