Updated patch.

Changes:

  * Documentation for operators/functions
  * a comprehensive set of operators and functions
  * BTree opclass
  * Hash opclass
  * built-in range types:
    - PERIOD (timestamp)
    - PERIODTZ (timestamptz)
    - DATERANGE (date)
    - INTRANGE (int4)
    - NUMRANGE (numeric)
  * added subtype float function to the API, which will be useful for 
    GiST
  * created canonical functions for intrange and daterange, so that:
      '[1,5]'::intrange = '[1,6)'::intrange
  * added length() function, written in SQL as:
      select upper($1) - lower($1)
    which uses polymorphic "-" operator to avoid the need to
    give the subtype subtract function and return type to the generic
    API

Open items:

  * More documentation work
  * Settle any representation/alignment concerns
  * Should the new length() function be marked as immutable, stable,
    or volatile? It uses the polymorphic "-" operator, and I suppose
    someone could define a non-immutable version of that before calling
    length(). Then again, it is likely to be inlined anyway, right?
  * GiST
    - docs
    - catalog work
    - implementation
  * typmod support (optional)

This is nearing completion. GiST is by far the most amount of effort
remaining that I'm aware of. Comments about the API, naming,
representation, interface, funcationality, grammar, etc. are welcome.

Regards,
        Jeff Davis

Attachment: rangetypes-20110127.patch.gz
Description: GNU Zip compressed data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to