Re: (possible) bug with constraint exclusion
От | Rajesh Kumar Mallah |
---|---|
Тема | Re: (possible) bug with constraint exclusion |
Дата | |
Msg-id | a97c77030801102320g63f4fa08j163b67494dfe188@mail.gmail.com обсуждение исходный текст |
Ответ на | (possible) bug with constraint exclusion ("Rajesh Kumar Mallah" <mallah.rajesh@gmail.com>) |
Список | pgsql-sql |
Update the phenomenon does not exists in 8.2.0 but exists in 8.2.5. On Jan 11, 2008 12:28 PM, Rajesh Kumar Mallah <mallah.rajesh@gmail.com> wrote: > 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. >
В списке pgsql-sql по дате отправления: