The SQL spec has some detailed discussion of some strange null behaviours.

Specifically "row(1,null) is null" is false but "row(1,null) is not null" is
*also* supposed to be false. Postgres currently gets this wrong. "is [not]
null" is apparently supposed to mean "all the fields are (not) null".

So in the following the first query is correct but the second is incorrect:

pgbench=# select row(1::integer, null::integer) is null;
 ?column? 
----------
 f
(1 row)

pgbench=# select row(1::integer, null::integer) is not null;
 ?column? 
----------
 t
(1 row)


-- 
greg


---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to