On Sun, Jun 25, 2023, at 11:42, Joel Jacobson wrote:
>     SELECT hashset_contains('{}'::int4hashset, NULL::int);
>
> would be False, according to the General Rules.
>
...
> Applying the same rules, we'd have to return Unknown (which we represent as
> null) for:
>
>     SELECT hashset_contains('{null}'::int4hashset, NULL::int);
>

Aha! I just discovered to my surprise that the corresponding array
queries gives the same result:

SELECT NULL = ANY(ARRAY[]::int[]);
 ?column?
----------
 f
(1 row)

SELECT NULL = ANY(ARRAY[NULL]::int[]);
 ?column?
----------

(1 row)

I have no more objections; let's stick to the same null semantics as arrays and 
multisets.

/Joel


Reply via email to