postgresql/src
Tom Lane 56d0ed3b75 Give better hints for ambiguous or unreferenceable columns.
Examine ParseNamespaceItem flags to detect whether a column name
is unreferenceable for lack of LATERAL, or could be referenced if
a qualified name were used, and give better hints for such cases.
Also, don't phrase the message to imply that there's only one
matching column when there is really more than one.

Many of the regression test output changes are not very interesting,
but just reflect reclassifying the "There is a column ... but it
cannot be referenced from this part of the query" messages as DETAIL
rather than HINT.  They are details per our style guide, in the sense
of being factual rather than offering advice; and this change provides
room to offer actual HINTs about what to do.

While here, adjust the fuzzy-name-matching code to be a shade less
impenetrable.  It was overloading the meanings of FuzzyAttrMatchState
fields way too much IMO, so splitting them into multiple fields seems
to make it clearer.  It's not like we need to shave bytes in that
struct.

Per discussion of bug #17233 from Alexander Korolev.

Discussion: https://postgr.es/m/17233-afb9d806aaa64b17@postgresql.org
2022-11-22 18:46:31 -05:00
..
backend Give better hints for ambiguous or unreferenceable columns. 2022-11-22 18:46:31 -05:00
bin Fix typos and bump catversion. 2022-11-18 16:16:21 -05:00
common Check return value of pclose() correctly 2022-11-15 15:36:51 +01:00
fe_utils meson: Add support for building with precompiled headers 2022-10-06 17:19:30 -07:00
include Add wait event for pg_usleep() in perform_spin_delay() 2022-11-21 20:34:17 -08:00
interfaces libpq: Handle NegotiateProtocolVersion message 2022-11-17 15:42:09 +01:00
makefiles autoconf: Rely on ar supporting index creation 2022-10-07 11:53:39 -07:00
pl Refactor aclcheck functions 2022-11-13 09:02:41 +01:00
port Provide sigaction() for Windows. 2022-11-09 13:06:31 +13:00
template Move darwin sysroot determination into separate file 2022-09-01 16:54:19 -07:00
test Give better hints for ambiguous or unreferenceable columns. 2022-11-22 18:46:31 -05:00
timezone Remove unneeded includes of <sys/stat.h> 2022-11-05 12:31:28 +09:00
tools Replace SQLValueFunction by COERCE_SQL_SYNTAX 2022-11-21 18:31:59 +09:00
tutorial Doc: sync src/tutorial/basics.source with SGML documentation. 2022-11-19 13:09:14 -05:00
.gitignore
DEVELOPERS
Makefile Remove the option to build thread_test.c outside configure. 2020-10-21 12:08:48 -04:00
Makefile.global.in Prevent port collisions between concurrent TAP tests 2022-11-20 10:07:35 -05:00
Makefile.shlib autoconf: Rely on ar supporting index creation 2022-10-07 11:53:39 -07:00
meson.build meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
nls-global.mk Fix for make unportability 2022-07-13 09:15:01 +02:00