Skip site navigation (1) Skip section navigation (2)

Re: Range Types, constructors, and the type system

From: Jeff Davis <pgsql(at)j-davis(dot)com>
To: Darren Duncan <darren(at)darrenduncan(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Range Types, constructors, and the type system
Date: 2011-06-27 17:00:09
Message-ID: 1309194009.2443.238.camel@jdavis (view raw, whole thread or download thread mbox)
Thread:
Lists: pgsql-hackers
On Sun, 2011-06-26 at 22:29 -0700, Darren Duncan wrote:
> Tom Lane wrote:
> > Darren Duncan <darren(at)darrenduncan(dot)net> writes:
> >> I believe that the best general solution here is for every ordered base type to 
> >> just have a single total order, which is always used with that type in any 
> >> generic order-sensitive operation, including any ranges defined over it, or any 
> >> ORDER BY or any <,>,etc.
> > 
> > We've spent years and blood on making sure that Postgres could support
> > multiple orderings for any datatype; and there are plenty of natural
> > examples for the usefulness of that.  So I'm not at all impressed by
> > any line of reasoning that starts out by baldly throwing that away.
> 
> I'm not saying that you can't use multiple orderings with a data type.  I'm just 
> saying that the type only has *at most* one (possibly none) *native* ordering, 
> which is what is used when you do something ordered-sensitive with the type, 
> such as have a range.

So, are you saying that it would be impossible to have a range that uses
a different ordering? What about ORDER BY? What about BTrees?

And if those things can use different orders for the same type, then
what is the difference between what you are suggesting and a default
ordering for the type (which we already support)?

I suppose it's hard to tell what you mean by "native".

Regards,
	Jeff Davis


In response to

Responses

pgsql-hackers by date

Next:From: Robert HaasDate: 2011-06-27 17:28:30
Subject: Re: [v9.2] DROP Reworks Part.0 - 'missing_ok' support of get_object_address
Previous:From: Jeff DavisDate: 2011-06-27 16:45:52
Subject: Re: Range Types, constructors, and the type system

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group