BUG #6330: Incorrect select results when using mutually exclusive conditions for nullable column with index
От | nikolay.gorshkov@gmail.com |
---|---|
Тема | BUG #6330: Incorrect select results when using mutually exclusive conditions for nullable column with index |
Дата | |
Msg-id | E1RYHl5-0002hz-8N@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #6330: Incorrect select results when using mutually
exclusive conditions for nullable column with index
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 6330 Logged by: Nikolay Gorshkov Email address: nikolay.gorshkov@gmail.com PostgreSQL version: 9.0.4 Operating system: Ubuntu 10.04.2 LTS Description:=20=20=20=20=20=20=20=20 How to reproduce: # create table test (uid varchar(255) primary key, dt date); # insert into test values ('1', now()), ('2', now()), ('3', null); # create index test_dt on test(dt); # analyze test; # select * from test where dt is null and dt >=3D '2011-01-01 +01:00:00'; I expect zero results from the selection since the conditions are mutually exclusive. However, one row with NULL value in "dt" column is returned: uid | dt -----+---- 3 | (1 row) If the index "test_dt" is dropped: # drop index test_dt; The same query return zero rows, as expected: # select * from test where dt is null and dt >=3D '2011-01-01 +01:00:00'; uid | dt -----+---- (0 rows) PostgreSQL version information: # select version(); Result: PostgreSQL 9.0.4 on i486-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 32-bit Linux information: # uname -a Result: Linux hostname 2.6.32-21-generic-pae #32-Ubuntu SMP Fri Apr 16 09:39:35 UTC 2010 i686 GNU/Linux
В списке pgsql-bugs по дате отправления: