Range Types - Mailing list pgsql-hackers

New patch. All known TODO items are closed, although I should do a
cleanup pass over the code and docs.

Fixed in this patch:

  * Many documentation improvements
  * Added INT8RANGE
  * Renamed PERIOD[TZ] -> TS[TZ]RANGE
  * Renamed INTRANGE -> INT4RANGE
  * Improved parser's handling of whitespace and quotes
  * Support for PL/pgSQL functions with ANYRANGE arguments/returns
  * Make "subtype_float" function no longer a requirement for GiST,
    but it should still be supplied for the penalty function to be
    useful.

There are some open issues remaining, however:

  * Is typmod worth doing? I could complete it pretty quickly, but it
involves introducing a new Node type, which seems a little messy for the
benefit.

  * Should pg_range reference the btree opclass or the compare function
directly?

  * Should subtype_cmp default to the default btree opclass's compare
function?

  * Right now only superusers can define a range type. Should we open it
up to normal users?

  * Should the SQL (inlinable) function "length", which relies on
polymorphic "-", be immutable, strict, or volatile?

  * Later we might consider whether we should include btree_gist in
core, to make range types more useful with exclusion constraints
out-of-the-box. This should be left for later, I'm just including this
for the archives so it doesn't get lost.

Regards,
    Jeff Davis

Attachment

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [COMMITTERS] pgsql: Include more status information in walsender results
Next
From: Robert Haas
Date:
Subject: Re: ALTER TYPE 2: skip already-provable no-work rewrites