Hi Ashutosh,
On Tue, Apr 11, 2017 at 6:02 PM, Ashutosh Bapat < ashutosh.ba...@enterprisedb.com> wrote: > On Mon, Apr 10, 2017 at 8:12 PM, Jeevan Ladhe > <jeevan.la...@enterprisedb.com> wrote: > > Hi Rahila, > > > > > > With your latest patch: > > > > Consider a case when a table is partitioned on a boolean key. > > > > Even when there are existing separate partitions for 'true' and > > > > 'false', still default partition can be created. > > > > > > I think this should not be allowed. > > Well, boolean columns can have "NULL" values which will go into > default partition if no NULL partition exists. So, probably we should > add check for NULL partition there. I have checked for NULLs too, and the default partition can be created even when there are partitions for each TRUE, FALSE and NULL. Consider the example below: postgres=# CREATE TABLE list_partitioned ( a bool ) PARTITION BY LIST (a); CREATE TABLE postgres=# CREATE TABLE part_1 PARTITION OF list_partitioned FOR VALUES IN ('false'); CREATE TABLE postgres=# CREATE TABLE part_2 PARTITION OF list_partitioned FOR VALUES IN ('true'); CREATE TABLE postgres=# CREATE TABLE part_3 PARTITION OF list_partitioned FOR VALUES IN (null); CREATE TABLE postgres=# CREATE TABLE part_default PARTITION OF list_partitioned FOR VALUES IN (DEFAULT); CREATE TABLE Regards, Jeevan Ladhe