vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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 ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |
| ||||
| "Vladimir" <dvs@fon.kamchatka.ru> writes: > 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) ); Hmm, surprising this hasn't been found before, because the underlying bug has been around for a long time :-(. Fix committed --- thanks for the report! regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org |
| Thread Tools | |
| Display Modes | |
|
|