Обсуждение: unique()ness not always maintained

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

unique()ness not always maintained

От
Frank Cusack
Дата:
Solaris 2.6/sparc; postgres 6.5.1

dns=> create table test (zone int4, net cidr, unique(zone, net));
NOTICE:  CREATE TABLE/UNIQUE will create implicit index 'test_zone_key' for table 'test'
CREATE
dns=> insert into test (zone, net) values (1, '1.2.3/24');
INSERT 21750 1
dns=> insert into test (zone, net) values (1, '2.3.4/24');
INSERT 21751 1
dns=> insert into test (zone, net) values (1, '1.2.3/24');
INSERT 21752 1
dns=> insert into test (zone, net) values (1, '2.3.4/24');
ERROR:  Cannot insert a duplicate key into a unique index
dns=> select * from test;
zone|net
----+--------
   1|1.2.3/24
   1|2.3.4/24
   1|1.2.3/24
(3 rows)


Once a unique error is reported, uniqueness seems to be maintained.
Also, if you enter 4 values, then try a duplicate, it all works.

The threshold seems to be 3.

~f