Обсуждение: PG 9.1 regression / row comparison?

Поиск
Список
Период
Сортировка

PG 9.1 regression / row comparison?

От
Denis de Bernardy
Дата:
I seem to remember that each of the following three statements worked in PG 9.0. Is the last one failing expected in
9.1?Or is it due to the various contrib modules I've been playing with? (I've installed btree_gin, btree_gist, semver,
temporal,pgcrypt, spi/timetravel, and a couple more I can't remember off the top of my head...) 

test=# select row(1,2) = row(1,2); -- returns t
test=# select row(1,2) is distinct from row(1,2); -- returns f

test=# select row(1,2) <> row(1,2);

ERROR:  could not determine interpretation of row comparison operator <>
LINE 1: select row(1,2) <> row(1,2);
                        ^
HINT:  Row comparison operators must be associated with btree operator families.

Re: PG 9.1 regression / row comparison?

От
Gavin Flower
Дата:
[...]
 > test=# select row(1,2) <> row(1,2);
 >
 > ERROR:  could not determine interpretation of row comparison operator <>
 > LINE 1: select row(1,2) <> row(1,2);
 >                         ^
 > HINT:  Row comparison operators must be associated with btree
operator > families.

Hi Denis,

I don't get this error with 9.1beta2,

$ uname -a
Linux saturn 2.6.35.13-92.fc14.x86_64 #1 SMP Sat May 21 17:26:25 UTC
2011 x86_64 x86_64 x86_64 GNU/Linux
$ psql
psql (9.1beta2)
Type "help" for help.

gavin=> select row(1,2) <> row(1,2);
  ?column?
----------
  f
(1 row)


Cheers,
Gavin

Re: PG 9.1 regression / row comparison?

От
Denis de Bernardy
Дата:
I've actually traced it down to btree_gist. Not sure if this is the expected behavior:

test =# select row(1,2) <> row(1,2);
ERROR:  could not determine interpretation of row comparison operator <>
LINE 1: select row(1,2) <> row(1,2);
                        ^
HINT:  Row comparison operators must be associated with btree operator families.

test=# drop extension btree_gist cascade;
NOTICE:  drop cascades to constraint test_period_excl on table test.test_revs
DROP EXTENSION
test =# select row(1,2) <> row(1,2);
 ?column? 
----------
 f
(1 row)



From: Gavin Flower <GavinFlower@archidevsys.co.nz>
To: ddebernardy@yahoo.com
Cc: pgsql-testers@postgresql.org
Sent: Wednesday, June 15, 2011 4:40 AM
Subject: Re: [TESTERS] PG 9.1 regression / row comparison?

[...]
> test=# select row(1,2) <> row(1,2);
>
> ERROR:  could not determine interpretation of row comparison operator <>
> LINE 1: select row(1,2) <> row(1,2);
>                        ^
> HINT:  Row comparison operators must be associated with btree operator > families.

Hi Denis,

I don't get this error with 9.1beta2,

$ uname -a
Linux saturn 2.6.35.13-92.fc14.x86_64 #1 SMP Sat May 21 17:26:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
$ psql
psql (9.1beta2)
Type "help" for help.

gavin=> select row(1,2) <> row(1,2);
?column?
----------
f
(1 row)


Cheers,
Gavin
-
HOWTO Alpha/Beta Test:
http://wiki.postgresql.org/wiki/HowToBetaTest
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-testers