Re: Boolean partitions syntax

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
To: jonathan(dot)katz(at)excoventures(dot)com
Cc: tgl(at)sss(dot)pgh(dot)pa(dot)us, peter(dot)eisentraut(at)2ndquadrant(dot)com, Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp, david(at)pgmasters(dot)net, andres(at)anarazel(dot)de, robertmhaas(at)gmail(dot)com, sfrost(at)snowman(dot)net, hornschnorter(at)gmail(dot)com, dilipbalaut(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Boolean partitions syntax
Date: 2018-04-10 11:13:05
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


Note: This is not intended to be committed this time but just for

At Tue, 10 Apr 2018 10:34:27 +0900 (Tokyo Standard Time), Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote in <20180410(dot)103427(dot)244142052(dot)horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
> Just adding negation would work as a_expr is doing.
> > | '-' a_expr %prec UMINUS
> > { $$ = doNegate($2, @1); }

a_expr fits partbound_datum_list as is but it cannot sit
side-by-side with MAX/MINVALUE at all. However c_expr can if
columnref is not excluded. The attached patch does that and
partition bound accepts the following syntax. (I didn't see the
transform side at all)

create table p2c1 partition of p2 for values from (log(1000),0+1,0/1) to (10, 10, ('1'||'0')::int);

=# \d p2c1
Partition of: p2 FOR VALUES FROM (3, 1, 0) TO (10, 10, 10)


Kyotaro Horiguchi
NTT Open Source Software Center

Attachment Content-Type Size
any_expression_as_partbound.patch text/x-patch 12.9 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?= 2018-04-10 11:33:02 Re: Transform for pl/perl
Previous Message Sergei Kornilov 2018-04-10 10:35:24 Re: Custom PGC_POSTMASTER GUC variables ... feasible?