Improving contrib/tablefunc's error reporting

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: Joe Conway <mail(at)joeconway(dot)com>
Subject: Improving contrib/tablefunc's error reporting
Date: 2024-03-05 22:04:55
Message-ID: 18937.1709676295@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

After reading the thread at [1], I could not escape the feeling
that contrib/tablefunc's error reporting is very confusing.
Looking into the source code, I soon found that it is also
very inconsistent, with similar error reports being phrased
quite differently. The terminology for column names doesn't
match the SGML docs either. And there are some places that are
so confused about whether they are complaining about the calling
query or the called query that the output is flat-out backwards.
So at that point my nascent OCD wouldn't let me rest without
fixing it. Here's a quick patch series to do that.

For review purposes, I split this into two patches. 0001 simply
adds some more test cases to reach currently-unexercised error
reports. Then 0002 makes my proposed code changes and shows
how the existing error messages change.

I'm not necessarily wedded to the phrasings I used here,
in case anyone has better ideas.

BTW, while I didn't touch it here, it seems fairly bogus that
connectby() checks both type OID and typmod for its output
columns while crosstab() only checks type OID. I think
crosstab() is in the wrong and needs to be checking typmod.
That might be fit material for a separate patch though.

regards, tom lane

[1] https://www.postgresql.org/message-id/flat/DM4PR19MB597886696589C5CE33F5D58AD3222%40DM4PR19MB5978.namprd19.prod.outlook.com

Attachment Content-Type Size
v1-0001-Add-more-test-coverage-for-contrib-tablefunc.patch text/x-diff 10.9 KB
v1-0002-Improve-contrib-tablefunc-s-error-reporting.patch text/x-diff 22.5 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joe Conway 2024-03-05 22:16:49 Re: Improving contrib/tablefunc's error reporting
Previous Message David Rowley 2024-03-05 22:00:10 Re: Get rid of the excess semicolon in planner.c