(possible) bug with constraint exclusion

From: "Rajesh Kumar Mallah" <mallah(dot)rajesh(at)gmail(dot)com>
To: "postgres admin" <pgsql-sql(at)postgresql(dot)org>
Subject: (possible) bug with constraint exclusion
Date: 2008-01-11 06:58:09
Message-ID: a97c77030801102258y3d501045u6b31afe0541997db@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-sql

Hi ,

looks like constraint exclusion is being too aggressive in excluding null values
although its well known that check constraints apply on not null values only.
Hope the minimal test session below explains the problem we facing.
BTW: we are very impressed with the performance gains we achieved by
partitioning a table recently.

tradein_clients=> SELECT version();
version
---------------------------------------------------------------------------------------------------
PostgreSQL 8.2.6 on i686-pc-linux-gnu, compiled by GCC gcc (GCC)
3.4.6 20060404 (Red Hat 3.4.6-9)
(1 row)

tradein_clients=> \pset null NULL

tradein_clients=> \d x
Table "temp.x"
Column | Type | Modifiers
--------+---------+-----------
id | integer |
Check constraints:
"x_id_check" CHECK (id > 0)

tradein_clients=> SELECT * from x;
id
------
1
2
NULL
(3 rows)

tradein_clients=> explain SELECT * from x where id is null;
QUERY PLAN
------------------------------------------
Result (cost=0.00..0.01 rows=1 width=0)
One-Time Filter: false
(2 rows)

tradein_clients=> SELECT * from x where id is null;
id
----
(0 rows)
tradein_clients=> SET constraint_exclusion to off;
SET
tradein_clients=> SELECT * from x where id is null;
id
------
NULL
(1 row)

tradein_clients=>

Regds
mallah.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Rajesh Kumar Mallah 2008-01-11 07:20:13 Re: (possible) bug with constraint exclusion
Previous Message Tom Lane 2008-01-11 05:08:14 Re: BUG #3865: ERROR: failed to build any 8-way joins

Browse pgsql-sql by date

  From Date Subject
Next Message Rajesh Kumar Mallah 2008-01-11 07:20:13 Re: (possible) bug with constraint exclusion
Previous Message Daniel Caune 2008-01-11 03:23:20 SQL stored function inserting and returning data in a row.