From: | Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [HACKERS] user-defined numeric data types triggering ERROR: unsupported type |
Date: | 2018-03-04 02:14:50 |
Message-ID: | 82f29126-df5a-d4bc-f5b5-47233e29aaa6@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 03/04/2018 02:37 AM, Tom Lane wrote:
> Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2018-03-04 02:20:57 | select_parallel test failure: gather sometimes losing tuples (maybe during rescans)? |
Previous Message | Craig Ringer | 2018-03-04 02:09:39 | Re: 2018-03 Commitfest Summary (Andres #1) |