Re: hstore ==> and deprecate => - Mailing list pgsql-hackers

From Florian Pflug
Subject Re: hstore ==> and deprecate =>
Date
Msg-id E2283B6E-C838-4AE7-A6F7-8C4A8E611D14@phlo.org
Whole thread Raw
In response to Re: hstore ==> and deprecate =>  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: hstore ==> and deprecate =>  ("David E. Wheeler" <david@kineticode.com>)
List pgsql-hackers
On Jun 12, 2010, at 14:57 , Tom Lane wrote:
> But actually, there's another issue here: hstore defines not one but
> three => operators:
>
>     text => text        yields hstore (with 1 element)
>     text[] => text[]    yields hstore (with N elements)
>     hstore => text[]    yields hstore (subset)
>
> 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) 

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.

best regards,
Florian Pflug



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: hstore ==> and deprecate =>
Next
From: Florian Pflug
Date:
Subject: Patch to show individual statement latencies in pgbench output