From: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> |
---|---|
To: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, Beena Emerson <memissemerson(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: path toward faster partition pruning |
Date: | 2017-11-06 04:15:30 |
Message-ID: | CAKJS1f_gTUyVw0AZMKyg7CQtGJwJatuMpD_j1QTgn0qqtwdSFQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 31 October 2017 at 21:43, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> Attached updated version of the patches
match_clauses_to_partkey() needs to allow for the way quals on Bool
columns are represented.
create table pt (a bool not null) partition by list (a);
create table pt_true partition of pt for values in('t');
create table pt_false partition of pt for values in('f');
explain select * from pt where a = true;
QUERY PLAN
------------------------------------------------------------------
Append (cost=0.00..76.20 rows=2810 width=1)
-> Seq Scan on pt_false (cost=0.00..38.10 rows=1405 width=1)
Filter: a
-> Seq Scan on pt_true (cost=0.00..38.10 rows=1405 width=1)
Filter: a
(5 rows)
match_clause_to_indexcol() shows an example of how to handle this.
explain select * from pt where a = false;
will need to be allowed too. This works slightly differently.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2017-11-06 04:21:48 | Re: Setting pd_lower in GIN metapage |
Previous Message | Connor Wolf | 2017-11-06 04:10:38 | Re: How to implement a SP-GiST index as a extension module? |