Re: Multi column range partition table
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Dean Rasheed <dean.a.rasheed@gmail.com>,
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: amul sul <sulamul@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-07-03T05:00:11Z
Lists: pgsql-hackers
On 2017/07/03 2:15, Dean Rasheed wrote: > On 30 June 2017 at 10:04, Ashutosh Bapat > <ashutosh.bapat@enterprisedb.com> wrote: >> On Fri, Jun 30, 2017 at 1:36 PM, Amit Langote >> <Langote_Amit_f8@lab.ntt.co.jp> wrote: >>> >>> Alright, I spent some time implementing a patch to allow specifying >>> -infinity and +infinity in arbitrary ways. Of course, it prevents >>> nonsensical inputs with appropriate error messages. >> >> I don't think -infinity and +infinity are the right terms. For a >> string or character data type there is no -infinity and +infinity. >> Similarly for enums. We need to extend UNBOUNDED somehow to indicate >> the end of a given type in the given direction. I thought about >> UNBOUNDED LEFT/RIGHT but then whether LEFT indicates -ve side or +side >> would cause confusion. Also LEFT/RIGHT may work for a single >> dimensional datatype but not for multi-dimensional spaces. How about >> MINIMUM/MAXIMUM or UNBOUNDED MIN/MAX to indicate the extremities. >> > > Yes, I think you're right. Also, some datatypes include values that > are equal to +/-infinity, which would then behave differently from > unbounded as range bounds, so it wouldn't be a good idea to overload > that term. Agree with you both that using (+/-) infinity may not be a good idea after all. > My first thought was UNBOUNDED ABOVE/BELOW, because that matches the > terminology already in use of upper and lower bounds. I was starting to like the Ashutosh's suggested UNBOUNDED MIN/MAX syntax, but could you clarify your comment that ABOVE/BELOW is the terminology already in use of upper and lower bounds? I couldn't find ABOVE/BELOW in our existing syntax anywhere that uses the upper/lower bound notion, so was confused a little bit. Also, I assume UNBOUNDED ABOVE signifies positive infinity and vice versa. Thanks, Amit
Commits
-
Use MINVALUE/MAXVALUE instead of UNBOUNDED for range partition bounds.
- d363d42bb9a4 10.0 landed
-
Clarify the contract of partition_rbound_cmp().
- f1dae097f294 10.0 landed
-
Simplify the logic checking new range partition bounds.
- c03911d9454a 10.0 landed