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  (bricklen <bricklen@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: eboisen@hotmail.com
Дата:
Сообщение: BUG #6329: ODBC ANSI driver psqlODBC v09.00.0310.1
Следующее
От: bricklen
Дата:
Сообщение: Re: BUG #6330: Incorrect select results when using mutually exclusive conditions for nullable column with index