Description:
By pgsql 8.4 I have the following bug:
If the haystack array is null (for example by empty result of array_agg) by is contained by, and you use it with negation, the the result is false instead of true.
Reproduce:
The following query returns nothing, but it should return 1.
SELECT 1 FROM NOT(ARRAY[1] <@ NULL);
Workaround:
SELECT 1 FROM (haystack IS NULL OR NOT(ARRAY[1] <@ haystack));