From: | amul sul <sulamul(at)gmail(dot)com> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Multi column range partition table |
Date: | 2017-06-22 11:48:28 |
Message-ID: | CAAJ_b947mowpLdxL3jo3YLKngRjrq9+Ej4ymduQTfYR+8=YAYQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
While working on the another patch, I came across the case where
I need an auto generated partition for a mutil-column range partitioned
table having following range bound:
PARTITION p1 FROM (UNBOUNDED, UNBOUNDED) TO (10, 10)
PARTITION p2 FROM (10, 10) TO (10, UNBOUNDED)
PARTITION p3 FROM (10, UNBOUNDED) TO (20, 10)
PARTITION p4 FROM (20, 10) TO (20, UNBOUNDED)
PARTITION p5 FROM (20, UNBOUNDED) TO (UNBOUNDED, UNBOUNDED)
In this, a lower bound of the partition is an upper bound of the
previous partition.
While trying to create p3 partition with (10, UNBOUNDED) to (20, 10) bound,
got an overlap partition error.
Here is the SQL to reproduced this error:
CREATE TABLE range_parted ( i1 int, i2 int ) PARTITION BY RANGE (i1, i2);
CREATE TABLE p1 PARTITION OF range_parted FOR VALUES FROM (UNBOUNDED,
UNBOUNDED) TO (10, 10);
CREATE TABLE p2 PARTITION OF range_parted FOR VALUES FROM (10, 10) TO
(10, UNBOUNDED);
CREATE TABLE p3 PARTITION OF tab1 FOR VALUES FROM (10, UNBOUNDED) TO (20, 10);
ERROR: partition "p3" would overlap partition "tab1_p_10_10"
This happened because of UNBOUNDED handling, where it is a negative infinite
if it is in FROM clause. Wondering can't we explicitly treat this as
a positive infinite value, can we?
Thoughts/Comments?
Regards,
Amul
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2017-06-22 12:13:44 | Re: SQL MERGE patches for PostgreSQL Versions |
Previous Message | Daniel Verite | 2017-06-22 11:43:35 | Re: PATCH: Batch/pipelining support for libpq |