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