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
[EMAIL PROTECTED]

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to