hstore patch, part 2 - Mailing list pgsql-hackers

From Andrew Gierth
Subject hstore patch, part 2
Date
Msg-id 87skl2rby8.fsf@news-spur.riddles.org.uk
Whole thread Raw
Responses Re: hstore patch, part 2  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Re: hstore patch, part 2  ("David E. Wheeler" <david@kineticode.com>)
List pgsql-hackers
Patch attached, also available at
http://www.rhodiumtoad.org.uk/junk/hstore_20090324.patch.txt

The user-visible changes are:

  - removal of previous 65535-byte limit on keys/values; both keys and
    values can now be as long as desired, within the 1GB limit for the
    whole hstore value (though you'll find a lot of stuff errors if
    you have hstores over 500MB, so don't try it).

  - support for btree and hash opclasses (allows hstores to be
    compared for equality, aggregated, and have UNIQUE indexes)

  - binary I/O now supported

  - many new functions and operators:

    hstore -> text[]  returns text[]   (slice to value array)
    hstore => text[]  returns hstore   (slice to new hstore)
    hstore ?| text[]  returns boolean  (check for any of a list of keys)
    hstore ?& text[]  returns boolean  (check for all of a list of keys)
    hstore - text     returns hstore   (delete one element)
    hstore - text[]   returns hstore   (delete many elements)
    hstore - hstore   returns hstore   (delete matching pairs)
    text[] => text[]  returns hstore   (construct from key/value arrays)
    hstore = hstore   returns hstore   (equality)
    hstore <> hstore  returns hstore   (inequality)
    record #= hstore  returns record   (see populate_record)

  - GiST and GIN support for ?| and ?& operators

  - conversions between hstore and record values:

    hstore(record)    - construct an hstore from a record

    populate_record(record,hstore)
        - fill in fields of a record as specified by an hstore
          (actually it's (anyelement,hstore) but it errors out if
          the parameter isn't composite)

By popular demand, a version of this will go up on pgfoundry for use
with 8.3 etc.

--
Andrew (irc:RhodiumToad)


Attachment

pgsql-hackers by date:

Previous
From: Robert Lor
Date:
Subject: Re: Broken stuff in new dtrace probes
Next
From: Andrew Gierth
Date:
Subject: Re: hstore patch, part 2