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