create type y as (c char, n int); select ('a', NULL)::y = ('a', NULL)::y; -- TRUE select ('a', NULL) = ('a', NULL); -- NULL
I would expect those to evaluate to the same thing.
Regards, Jeff Davis