From: | Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Subject: | Re: multiset patch review |
Date: | 2011-01-24 07:45:49 |
Message-ID: | AANLkTikya-j2Ty-aN+pQ4eFr8rxbh83aNdR8xoLk4TpX@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jan 18, 2011 at 17:39, Itagaki Takahiro
<itagaki(dot)takahiro(at)gmail(dot)com> wrote:
> BTW, should we use an "operator" to represent SUBMULTISET OF ?
I did it in the attached patch. Also, I fixed a bug of NULL checks
in SUBMULTISET OF operator.
Now SUBMULTISET OF is an alias to the new <& operator. We also have
&> operator as the commutator. They are different from <@ and @>
operators because they considers the number of elements.
For example:
=# SELECT ARRAY[1,1] <@ ARRAY[1], ARRAY[1,1] <& ARRAY[1];
?column? | ?column?
----------+----------
t | f
(1 row)
GIN still doesn't support <& and &> operators because of NULL handling.
In the spec, all values including NULLs should be returned for an empty
array key (i.e, "WHERE ARRAY[] SUBMULTISET OF array_col" returns everything),
but the current GIN implementation won't return NULL values for non-NULL keys.
Since it requires changes in GIN, I'd like to postpone gin support to the next
development cycle for 9.2.
--
Itagaki Takahiro
Attachment | Content-Type | Size |
---|---|---|
multiset-20110124.patch | application/octet-stream | 62.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2011-01-24 07:47:45 | Re: Include WAL in base backup |
Previous Message | Fujii Masao | 2011-01-24 07:45:25 | Re: Include WAL in base backup |