Mark Dilger <mark.dil...@enterprisedb.com> writes:
> The patch submitted changes processSQLNamePattern() to return a dot count by 
> reference.  It's up to the caller to decide whether to raise an error.  If 
> you pass in no schemavar, and you get back dotcnt=2, you know it parsed it as 
> a two part 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


Reply via email to