Re: Bug in SQL functions that use a NULL parameter directly

Поиск
Список
Период
Сортировка
От Michael Richards
Тема Re: Bug in SQL functions that use a NULL parameter directly
Дата
Msg-id 3A61EDA9.00004D.77179@frodo.searchcanada.ca
обсуждение исходный текст
Ответ на Bug in SQL functions that use a NULL parameter directly  ("Michael Richards" <michael@fastmail.ca>)
Ответы Re: Bug in SQL functions that use a NULL parameter directly  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-bugs
I do not understand how this can possibly be correct unless NULL is
not permitted in a function.

In one case, I've got:
WHERE value= $1
Which is called with NULL and therefore should be:
WHERE value= NULL
This fails.

The other case which is logically equivalent I've got:
WHERE value= $1 OR ($1=NULL AND value=NULL)
This passes.

So I get a true and a false from the same logical statement. I am not
using anything to do with MS Access, so I do not see how it may be
involved with this problem.

-Michael

>> I'm using 7.0.3 and I've found a bug:
>>
>> create table test(value int4);
>> create function testfunc(int4)
>> RETURNS bool AS
>> 'SELECT count(*)>0 AS RESULT FROM test where value= $1'
>> language 'SQL';
>>
>> So I want this function to return true when it finds the
>> specified value in the table. It does not work when you have a
>> null in the table and call it with a null.
>
> This is actually probably correct.  NULL=NULL is not true but
> unknown which will not satisfy the where clause.  The reason such
> a query does something different from the psql prompt is that the
> parse is looking for =NULL to turn it into IS NULL due to broken
> MS Acess statements. In this case it doesn't know to turn it into
> an ISNULL and so instead does a comparison which will never be
> true according to spec.
>

_________________________________________________________________
     http://fastmail.ca/ - Fast Free Web Email for Canadians

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Strange results with interval types computations
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Bug in SQL functions that use a NULL parameter directly