Re: hstore ==> and deprecate =>
David E. Wheeler <david@kineticode.com>
From: "David E. Wheeler" <david@kineticode.com>
To: Florian Pflug <fgp@phlo.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter_e@gmx.net>, Robert Haas <robertmhaas@gmail.com>, Michael Glaesemann <grzm@seespotcode.net>, Merlin Moncure <mmoncure@gmail.com>, pgsql-hackers@postgresql.org
Date: 2010-06-12T16:29:11Z
Lists: pgsql-hackers
On Jun 12, 2010, at 7:15 AM, Florian Pflug wrote:
>> It's reasonable to say that the first two are bad design, but I'm
>> a bit less willing to say that the last one is. What shall we
>> do with that?
>
> Hm, the last one seems to be more akin to
> hstore - text yields hstore (key removed)
> hstore - text[] yields hstore (keys in array removed)
> hstore - hstore yields hstore (keys in hstore removed)
Well, no, the keys aren't removed: you get back an hstore with only those keys (the lhs is unchanged).
> since it's not a constructor like the first two, but rather an (intersection-like) operation on an existing hstore.
>
> Inspired by the already existing
> hstore ?& text[] yields boolean (true if set of keys subset of array)
> I suggest
> hstore & text[]
> as a replacement.
Yes, agreed.
That just leaves
text[] => text[] yields hstore (with N elements)
Which, IIRC, is new in 9.1, so could in theory be removed, especially if there was an
hstore(text[], text[])
Best,
David