is null - is true, when all fields are null, and is not null is true, when all fields is not null.
Regards
Pavel
The same happens here:
SELECT ROW(NULL, NULL) IS NULL, -- returns: true (expected) ROW(NULL, NULL) IS NOT NULL, -- returns: false (expected) ROW(1, NULL) IS NULL, -- returns: false (expected) ROW(1, NULL) IS NOT NULL, -- returns: false !! ROW(1, 1) IS NULL, -- returns: false (expected) ROW(1, 1) IS NOT NULL; -- returns: true (expected)
The docs[1] say:
> Also, it is possible to [...] test a row with IS NULL or IS NOT NULL, for example: > [...] > SELECT ROW(table.*) IS NULL FROM table; -- detect all-null rows
So I would expect the ROW(1, NULL) IS NOT NULL to be true, because it's not "all-null". I'm not sure what I would expect ROW() to be, but surely not the same for IS NULL and IS NOT NULL.