Re: Range Types and extensions

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Range Types and extensions
Date: 2011-06-07 14:57:19
Message-ID: BANLkTikGwZXnJ=d-WkwWFdwM00cN6QZkwg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jun 6, 2011 at 6:23 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Merlin Moncure <mmoncure(at)gmail(dot)com> writes:
>> I vote for at minimum the type itself and ANYRANGE to be in core.
>> From there you could make it like arrays where the range type is
>> automatically generated for each POD type.  I would consider that for
>> sure on basis of simplicity in user-land unless all the extra types
>> and operators are a performance hit.
>
> Auto-generation of range types isn't going to happen, simply because the
> range type needs more information than is provided by the base type
> declaration.  (First, you need a btree opclass, and second, you need a
> "next" function if it's a discrete type.)
>
> By my count there are only about 20 datatypes in core for which it looks
> sensible to provide a range type (ie, it's a non-deprecated,
> non-composite type with a standard default btree opclass).  For that
> many, we might as well just build 'em in.

right. hm -- can you have multiple range type definitions for a
particular type? I was thinking about a type reduction for casting
like we have for arrays: select '[1,3)'::int{}. but maybe that isn't
specific enough?

merlin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-06-07 15:11:16 Re: SIREAD lock versus ACCESS EXCLUSIVE lock
Previous Message Kevin Grittner 2011-06-07 14:56:42 Re: SIREAD lock versus ACCESS EXCLUSIVE lock