The following bug has been logged online:
Bug reference:      2839
Logged by:          Vladimir
Email address:      dvs@fon.kamchatka.ru
PostgreSQL version: 8.1.3
Operating system:   FreeBSD
Description:        after record with NULL field, query result is wrong
Details:
create table tst (a int[]);
insert into tst values ('{1}'); -- (1)
insert into tst values (null);
insert into tst values ('{2}'); -- (3)
select z.a from tst z where exists (select 1 from
(
select generate_series(1,1) as s,* from (select z.a as arr0) qq
) q
where (q.arr0[q.s] is null)  );
  a
-----
 {2}
(2 rows)
-- What difference between (1) and (3) records?
-- really, my query more complex (auto generated) and table has many
columns, wrong rows return after row where tested field is null