Boolean partition constraint behaving strangely

From: Dominik Sander <depairet(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Boolean partition constraint behaving strangely
Date: 2010-02-25 15:52:32
Message-ID: be942077-c17b-46b1-99f1-de334ece62be@k17g2000yqb.googlegroups.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Hi,

I have an issue with a table partitioned by one boolean column. The
query planner only seems to skip the non matching table if expired
(the column I use for the partition) is true.

Here is a simple example:

CREATE TABLE mos (type_id INTEGER UNIQUE, expired boolean);
CREATE TABLE mos_expired_1 ( CHECK ( expired = true ) ) INHERITS
(mos);
CREATE TABLE mos_active_1 ( CHECK ( expired = false ) ) INHERITS
(mos);
INSERT INTO mos_expired_1 (type_id,expired) VALUES(1, true);
INSERT INTO mos_active_1 (type_id,expired) VALUES(2, false);

EXPLAIN SELECT * from mos where expired = true;

Result (cost=0.00..66.60 rows=2330 width=5)
-> Append (cost=0.00..66.60 rows=2330 width=5)
-> Seq Scan on mos (cost=0.00..33.30 rows=1165 width=5)
Filter: expired
-> Seq Scan on mos_expired_1 mos (cost=0.00..33.30 rows=1165
width=5)
Filter: expired

EXPLAIN SELECT * from mos where expired = false;

Result (cost=0.00..99.90 rows=3495 width=5)
-> Append (cost=0.00..99.90 rows=3495 width=5)
-> Seq Scan on mos (cost=0.00..33.30 rows=1165 width=5)
Filter: (NOT expired)
-> Seq Scan on mos_expired_1 mos (cost=0.00..33.30 rows=1165
width=5)
Filter: (NOT expired)
-> Seq Scan on mos_active_1 mos (cost=0.00..33.30 rows=1165
width=5)
Filter: (NOT expired)

I would really like to know if I am missing something or it's a query
planner issue.

--
Dominik Sander

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alex Hunsaker 2010-02-25 16:16:32 Re: Restricting the CREATEROLE privilege
Previous Message akp geek 2010-02-25 15:47:47 Re: postgres password change

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2010-02-25 16:34:48 Re: Streaming replication and pg_xlogfile_name()
Previous Message Alvaro Herrera 2010-02-25 15:49:52 Re: Odd CVS revision number