On 13 September 2017 at 14:53, Robert Haas <robertmh...@gmail.com> wrote: > On Wed, Sep 13, 2017 at 4:51 AM, Dean Rasheed <dean.a.rash...@gmail.com> > wrote: >> A drawback to doing this is that we lose compatibility with syntaxes >> supported by other databases, which was part of the reason for >> choosing the terms MINVALUE and MAXVALUE in the first place. >> >> So thinking about this afresh, my preference would actually be to just >> canonicalise the values stored rather than erroring out. > > Can you be more specific about what other databases do here? Which > other systems support MINVALUE/MAXVALUE, and what are their respective > behaviors in this situation? >
Oracle, MySQL and DB2 all use MINVALUE/MAXVALUE. Actually, Oracle and MySQL only use MAXVALUE, not MINVALUE, because they don't allow gaps between partitions and the first partition implicitly starts at MINVALUE, so the bounds that we currently support are a strict superset of those supported by Oracle and MySQL. Both Oracle and MySQL allow finite values after MAXVALUE (usually listed as "0" in code examples, e.g. see [1]). Oracle explicitly documents the fact that values after MAXVALUE are irrelevant in [1]. I'm not sure if MySQL explicitly documents that, but it does behave the same. Also, both Oracle and MySQL store what the user entered (they do not canonicalise), as can be seen by looking at ALL_TAB_PARTITIONS in Oracle, or "show create table" in MySQL. I have not used DB2. Regards, Dean [1] https://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers