Re: GiST for range types (was Re: Range Types - typo + NULL string constructor) - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)
Date
Msg-id 4EB1AF45.3070606@enterprisedb.com
Whole thread Raw
In response to Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)
Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)
List pgsql-hackers
On 01.11.2011 06:33, Jeff Davis wrote:
> On Mon, 2011-10-24 at 15:05 +0400, Alexander Korotkov wrote:
>
>> I think implementing subtype_diff for each datatype is ok.  We could
>> implement some universal function based on minus operator and casting
>> to double precision. But such solution might be unacceptable in
>> both predictability (operator and casting function might do not the
>> things we expect) and performance.
>>
> Done.
>
> Everything is complete in this patch with the exception of two optional
> things, which I still intend to do but might best be done in a separate
> commit:
>
>    * support typmod for ranges
>    * support casts between different range types
>
> Both of these things, I believe, require the introduction of an
> RangeCoerceExpr, similar to ArrayCoerceExpr. That's fine, but it creates
> a rather large diff, so it might be best left for a later commit.

Using the test table from the rangetypes test case:

postgres=#  select * from test_range_gist where 10 <@ ir;
ERROR:  unsupported type: 3904

This seems to be coming from the selectivity estimation function. The 
selectivity function for <@ is scalargtsel, which is usually used for 
scalar > and >=. That doesn't seem right. But what do we store in the 
statistics for range types in the first place, and what would be the 
right thing to do for selectivity estimation?

I'll dig deeper into this tomorrow...

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: unite recovery.conf and postgresql.conf
Next
From: Heikki Linnakangas
Date:
Subject: Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)