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

Re: Problem with ROWs and UNION

From: elein(at)varlena(dot)com (elein)
To: Alvaro Herrera <alvherre(at)surnet(dot)cl>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Problem with ROWs and UNION
Date: 2005-05-12 20:00:53
Message-ID: 20050512200053.GU23283@varlena.com (view raw or flat)
Thread:
Lists: pgsql-bugs
On Thu, May 12, 2005 at 03:57:18PM -0400, Alvaro Herrera wrote:
> On Thu, May 12, 2005 at 12:32:48PM -0700, elein wrote:
> 
> > --
> > -- UNION of ROWS doesn't work (simply wrong)
> > --
> > select ROW('4514 Cherry St','Oakland','CA','94666')::addrs
> > UNION
> > select ROW('4515 Cherry St','Oakland','CA','94666')::addrs;
> > -- ERROR:  could not identify an ordering operator for type addrs
> > -- HINT:  Use an explicit ordering operator or modify the query.
> 
> UNION ALL does work:
> 
> alvherre=# select ROW('4514 Cherry St','Oakland','CA','94666')::addrs
> UNION ALL
> select ROW('4515 Cherry St','Oakland','CA','94666')::addrs;
>                  row                 
> -------------------------------------
>  ("4514 Cherry St",Oakland,CA,94666)
>  ("4515 Cherry St",Oakland,CA,94666)
> (2 filas)

This makes sense because the UNION needs to have the ordering/
comparative operators to eliminate duplicates.  

It is a work around, but I think there needs to be a ROW
ordering operator added.

> 
> 
> I think the error message is misleading though, because the user has no
> way to specify the ordering operator to UNION.
> 
> I think you could create a btree operator class to make it all work.
> 


--elein
elein(at)varlena(dot)com

In response to

pgsql-bugs by date

Next:From: Tom LaneDate: 2005-05-12 20:13:00
Subject: Re: Problem with ROWs and UNION
Previous:From: Alvaro HerreraDate: 2005-05-12 19:57:18
Subject: Re: Problem with ROWs and UNION

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