Re: Coercing compound types to use generic ROW comparison operators
От | Tom Lane |
---|---|
Тема | Re: Coercing compound types to use generic ROW comparison operators |
Дата | |
Msg-id | 4155.1192128728@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Coercing compound types to use generic ROW comparison operators (Randall Lucas <rlucas@tercent.com>) |
Ответы |
Re: Coercing compound types to use generic ROW comparison operators
|
Список | pgsql-general |
Randall Lucas <rlucas@tercent.com> writes: > Is there a way I can convince my custom composite data type (point_pk) > to use the row-wise comparison functions, so that I don't have to > hackishly rewrite the comparison algorithm for each composite type? Well, you can do this ... regression=# create type point_pk as (x int, y int); CREATE TYPE regression=# create table foo(f1 point_pk, f2 point_pk); CREATE TABLE regression=# select * from foo where f1 = f2; ERROR: operator does not exist: point_pk = point_pk LINE 1: select * from foo where f1 = f2; ^ HINT: No operator matches the given name and argument type(s). You may need to add explicit type casts. regression=# select * from foo where row((f1).*) = row((f2).*); f1 | f2 ----+---- (0 rows) > Using 8.1.5. ... but I think it only works as of 8.2. regards, tom lane
В списке pgsql-general по дате отправления: