On Fri, Jul 1, 2022 at 7:58 AM Peter Geoghegan <p...@bowt.ie> wrote:

> On Fri, Jul 1, 2022 at 6:01 AM Robert Haas <robertmh...@gmail.com> wrote:
> > What would probably help more is adding something like this to the
> > error message:
> >
> > HINT: column "b" could refer to any of these relations: "foo", "excluded"
> >
> > That could also help people who encounter this error in other
> > situations. I'm not 100% sure this is a good idea, but I feel like it
> > would have a much better chance of helping someone in this situation
> > than the proposed doc patch.
>
> I agree with everything you've said here, though I am 100% sure that
> something like your proposed HINT would be a real usability win.
>
> The "Perhaps you meant to reference the column" HINT displayed when
> the user misspells a column is a surprisingly popular feature. I'm
> aware of quite a few people singing its praises on Twitter, for
> example. That hardly ever happens, even with features that we think of
> as high impact major features. So evidently users really value these
> kinds of quality of life improvements.
>
>

+1 to this better approach to address the specific confusion regarding
ambiguity.

Without any other changes being made I'm content with the status quo
calling excluded a table a reasonable approximation that hasn't been seen
to be confusing to our readers.

That said, I still think that the current wording should be tweak with
respect to row vs. rows (especially if we continue to call it a table):

Current:
"The SET and WHERE clauses in ON CONFLICT DO UPDATE have access to the
existing row using the table's name (or an alias), and to [rows] proposed
for insertion using the special excluded table."

Change [rows] to:

"the row"


I'm undecided whether "FROM excluded" should be something that works - but
I also don't think it would actually be used in any case.

David J.

Reply via email to