8.1 Unique Index Issue/Bug???
От | Chris Hoover |
---|---|
Тема | 8.1 Unique Index Issue/Bug??? |
Дата | |
Msg-id | 1d219a6f0607130740g7fe13967t48c77a64fde977aa@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: 8.1 Unique Index Issue/Bug???
(Scott Marlowe <smarlowe@g2switchworks.com>)
Re: 8.1 Unique Index Issue/Bug??? (Michael Fuhr <mike@fuhr.org>) Re: 8.1 Unique Index Issue/Bug??? ("Aaron Bono" <postgresql@aranya.com>) Re: 8.1 Unique Index Issue/Bug??? (Stephan Szabo <sszabo@megazone.bigpanda.com>) Re: 8.1 Unique Index Issue/Bug??? (Peter Eisentraut <peter_e@gmx.net>) Re: 8.1 Unique Index Issue/Bug??? (Andy Shellam <andy@andycc.net>) Re: 8.1 Unique Index Issue/Bug??? ("Rodrigo De Leon" <rdeleonp@gmail.com>) |
Список | pgsql-admin |
I am having what appears to be a bug with unique indexes on 8.1.3.
I have created a new table.
create table payer_835 (
payer_id int8 not null default nextval('payer_835_payer_id_seq'::regclass) primary key,
payer_name varchar(50) not null,
payer_trn03 varchar(10) not null,
payer_trn04 varchar(30),
sku_id int8 references skucode(sku_id) on delete cascade on update cascade,
payer_billable boolean not null default true,
create_timestamp timestamp not null default now(),
last_mod_timestamp timestamp,
expire_timestamp timestamp
);
On this table, I have created a unique index on payer_trn03, payer_trn04, and expire_timestamp. However, since the expire_timestamp is normally null, the unique index does not appear to be working. I have been able to enter two identical rows into this table.
Why is PostgreSQL not enforcing this index? This appears to be a pretty major a bug? It would seem that you could have a unique index across columns that might have a null in them.
Here is the data from the table:
COPY payer_835 (payer_id, payer_name, payer_trn03, payer_trn04, sku_id, payer_billable, create_timestamp, last_mod_timestamp, expire_timestamp) FROM stdin;
1 CAHABA GBA-AL PART B 1630103830 \N 1 t 2006-07-13 09:57: 52.834631 \N \N
2 FEP 123456789 00402 1 t 2006-07-10 10:56:23 \N \N
3 NC Medicaid 123123123 \N 1 t 2006-07-10 10:56:41 \N \N
4 CAHABA GBA-AL PART B 1630103830 \N 1 t 2006-07-11 16:13:43.808181 2006-07-12 10:09:46.066204 \N
\.
Notice records 1 and 4 have identical data (as far as my unique index is concerned), and the index it not complaining.
thanks,
Chris
RHAS 4.0
PG 8.1.3 (from rpms)
I have created a new table.
create table payer_835 (
payer_id int8 not null default nextval('payer_835_payer_id_seq'::regclass) primary key,
payer_name varchar(50) not null,
payer_trn03 varchar(10) not null,
payer_trn04 varchar(30),
sku_id int8 references skucode(sku_id) on delete cascade on update cascade,
payer_billable boolean not null default true,
create_timestamp timestamp not null default now(),
last_mod_timestamp timestamp,
expire_timestamp timestamp
);
On this table, I have created a unique index on payer_trn03, payer_trn04, and expire_timestamp. However, since the expire_timestamp is normally null, the unique index does not appear to be working. I have been able to enter two identical rows into this table.
Why is PostgreSQL not enforcing this index? This appears to be a pretty major a bug? It would seem that you could have a unique index across columns that might have a null in them.
Here is the data from the table:
COPY payer_835 (payer_id, payer_name, payer_trn03, payer_trn04, sku_id, payer_billable, create_timestamp, last_mod_timestamp, expire_timestamp) FROM stdin;
1 CAHABA GBA-AL PART B 1630103830 \N 1 t 2006-07-13 09:57: 52.834631 \N \N
2 FEP 123456789 00402 1 t 2006-07-10 10:56:23 \N \N
3 NC Medicaid 123123123 \N 1 t 2006-07-10 10:56:41 \N \N
4 CAHABA GBA-AL PART B 1630103830 \N 1 t 2006-07-11 16:13:43.808181 2006-07-12 10:09:46.066204 \N
\.
Notice records 1 and 4 have identical data (as far as my unique index is concerned), and the index it not complaining.
thanks,
Chris
RHAS 4.0
PG 8.1.3 (from rpms)
В списке pgsql-admin по дате отправления:
Предыдущее
От: Andy ShellamДата:
Сообщение: Re: PostgreSQL 8.1.4 install failure on Win XP Home laptop