From: | nikolay(dot)gorshkov(at)gmail(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #6330: Incorrect select results when using mutually exclusive conditions for nullable column with index |
Date: | 2011-12-07 13:42:03 |
Message-ID: | E1RYHl5-0002hz-8N@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 6330
Logged by: Nikolay Gorshkov
Email address: nikolay(dot)gorshkov(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | bricklen | 2011-12-07 15:32:22 | Re: BUG #6330: Incorrect select results when using mutually exclusive conditions for nullable column with index |
Previous Message | Craig Ringer | 2011-12-07 04:58:04 | Re: [BUGS] BUG #6325: Useless Index updates |