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@varlena.com