On 3/5/24 17:04, Tom Lane wrote:
> 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.
Been a long time since I gave contrib/tablefunc any love I guess ;-)
I will have a look at your patches, and the other issue you mention, but
it might be a day or three before I can give it some quality time.
--
Joe Conway
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com