On Wed, Jul 9, 2014 at 8:06 AM, Robert Haas <robertmh...@gmail.com> wrote: >> Showing up to 2 hints is fine as it does not pollute the error output with >> perhaps unnecessary messages. That's even more protective than for example >> git that prints all the equidistant candidates. However I can't understand >> why it does not show up hints even if there are two equidistant candidates >> from the same RTE. I think it should. > > Me, too.
The idea is that each RTE gets one best suggestion, because if there are two best suggestions within an RTE they're probably both wrong. Whereas across RTEs, it's probably just that there is a foreign key relationship between the two (and the user accidentally failed to qualify the particular column of interest on top of the misspelling, a qualification that would be sufficient to have the code prefer the qualified-but-misspelled column). Clearly if I was to do what you suggest it would be closer to a wild guess, and Tom has expressed concerns about that. Now, I don't actually ensure that the column names of the two columns (each from separate RTEs) are identical save for their would-be alias, but that's just a consequence of the implementation. Also, as I've mentioned, I don't want to put more stuff in scanRTEForColumn() than I already have, due to your earlier concern about adding clutter. I think we're splitting hairs at this point, and frankly I'll do it that way if it gets the patch closer to being committed. While I thought it was important to get the unqualified and misspelled case right (which I did in the first revision, but perhaps at the expense of Tom's concern about absolute suggestion quality), I don't feel strongly about this detail either way. -- Peter Geoghegan -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers