Re: [HACKERS] user-defined numeric data types triggering ERROR:unsupported type - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: [HACKERS] user-defined numeric data types triggering ERROR:unsupported type
Date
Msg-id 82f29126-df5a-d4bc-f5b5-47233e29aaa6@2ndquadrant.com
Whole thread Raw
In response to Re: [HACKERS] user-defined numeric data types triggering ERROR: unsupported type  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] user-defined numeric data types triggering ERROR: unsupported type  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On 03/04/2018 02:37 AM, Tom Lane wrote:
> Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:
>> Here is v2 of the fix. It does handle all the convert_to_scalar calls
>> for various data types, just like the numeric one did in v1 with the
>> exception of bytea.
> 
> Pushed with some adjustments.
> 

Thanks. I see I forgot to tweak a call in btree_gist - sorry about that.

>> The bytea case is fixed by checking that the boundary values are
>> varlenas. This seems better than checking for BYTEAOID explicitly, which
>> would fail for custom varlena-based types. At first I've been thinking
>> there might be issues when the data types has mismatching ordering, but
>> I don't think the patch makes it any worse.
> 
> I didn't like this one bit.  It's unlike all the other cases, which accept
> only specific type OIDs, and there's no good reason to assume that a
> bytea-vs-something-else comparison operator would have bytea-like
> semantics.  So I think it's better to punt, pending the invention of an
> API to let the operator supply its own convert_to_scalar logic.
> 

OK, understood. That's the "mismatching ordering" I was wondering about.

>> I've also added a bunch of regression tests, checking each case. The
>> bytea test it should cause segfault on master, of course.
> 
> I was kind of underwhelmed with these test cases, too, so I didn't
> commit them.  But they were good for proving that the bytea bug
> wasn't hypothetical :-)

Underwhelmed in what sense? Should the tests be constructed in some
other way, or do you think it's something that doesn't need the tests?


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Craig Ringer
Date:
Subject: Re: 2018-03 Commitfest Summary (Andres #1)
Next
From: Thomas Munro
Date:
Subject: select_parallel test failure: gather sometimes losing tuples (maybeduring rescans)?