hstore patch, part 2

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: pgsql-hackers(at)postgresql(dot)org
Subject: hstore patch, part 2
Date: 2009-03-24 18:51:43
Message-ID: 87skl2rby8.fsf@news-spur.riddles.org.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 Content-Type Size
hstore_20090324.patch.gz application/octet-stream 22.8 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dann Corbit 2009-03-24 19:08:21 FW: Multiple character encodings within a single database/table?
Previous Message Robert Lor 2009-03-24 18:33:00 Re: Broken stuff in new dtrace probes