Thread: Bug ? different behaviour between 8.3 and 8.4 won IS NULL with sub arrays of nulls
Bug ? different behaviour between 8.3 and 8.4 won IS NULL with sub arrays of nulls
From
ioguix@free.fr
Date:
Hi, I found a difference of behaviour between 8.3 and 8.4 on IS NULL with multi-level arrays with NULL values. I looked at the Changelog between 8.3 and 8.4, but I didn't find something really clear about this. Is this a bug or a known issue or a normal, documented, difference of behaviour ? See the following use case: <~~~~~~~~~~~~~~~~~~~~~~~~ $ psql -p 5433 -U postgres -h localhost -c \ 'SELECT substring(version() from 0 for 15), ROW(NULL,NULL) IS NULL, ROW(ROW(NULL),NULL) IS NULL;' substring | ?column? | ?column? ----------------+----------+---------- PostgreSQL 8.3 | t | f (1 ligne) $ psql -p 5434 -U postgres -h localhost -c \ 'SELECT substring(version() from 0 for 15), ROW(NULL,NULL) IS NULL, ROW(ROW(NULL),NULL) IS NULL;' substring | ?column? | ?column? ----------------+----------+---------- PostgreSQL 8.4 | t | t (1 ligne) ~~~~~~~~~~~~~~~~~~~~~~~~> Regards, -- Jehan-Guillaume (ioguix) de Rorthais DBA http://www.dalibo.com
Re: Bug ? different behaviour between 8.3 and 8.4 won IS NULL with sub arrays of nulls
From
Tom Lane
Date:
ioguix@free.fr writes: > I found a difference of behaviour between 8.3 and 8.4 on IS NULL with > multi-level arrays with NULL values. 8.3's behavior is just a bug --- try comparing the results when the values are variables that happen to be null, rather than simple constant nulls. 8.4 is consistent with that case, 8.3 isn't. regards, tom lane
Re: Bug ? different behaviour between 8.3 and 8.4 won IS NULL with sub arrays of nulls
From
"Jehan-Guillaume (ioguix) de Rorthais"
Date:
On Tue, 19 Jan 2010, Tom Lane wrote: > ioguix@free.fr writes: >> I found a difference of behaviour between 8.3 and 8.4 on IS NULL with >> multi-level arrays with NULL values. > > 8.3's behavior is just a bug --- Ok, should I report through the -bugs ml for tracking purpose ? or is it useless cause it's on -hackers andsomeone will jump on this bug to "fix and forget it" ? > try comparing the results when the > values are variables that happen to be null, rather than simple > constant nulls. 8.4 is consistent with that case, 8.3 isn't. Right, it behaves consistently with variables. Here is another test case where 8.3 is inconsistent with *himself* this time: <~~~~~~~~~~~~~~~~~~~~~~~~~~~~ postgres=# SELECT substring(version(),12,5); substring ----------- 8.3.9 (1 ligne) postgres=# SELECT ROW(ROW(NULL),NULL) IS NULL FROM (SELECT 1) t; ?column? ---------- t (1 ligne) postgres=# SELECT ROW(ROW(NULL),NULL) IS NULL; ?column? ---------- f (1 ligne) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~> > regards, tom lane > -- Jehan-Guillaume (ioguix) de Rorthais DBA http://www.dalibo.com