The following bug has been logged on the website: Bug reference: 6330 Logged by: Nikolay Gorshkov Email address: nikolay.gorsh...@gmail.com PostgreSQL version: 9.0.4 Operating system: Ubuntu 10.04.2 LTS Description:
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 >= '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 >= '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 -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs