Bug in evaluation of AND

Поиск
Список
Период
Сортировка
От Jeroen van Vianen
Тема Bug in evaluation of AND
Дата
Msg-id 34EAA238.7AF6@design.nl
обсуждение исходный текст
Список pgsql-hackers
[This email didn't show up on the list when I sent it last monday, so
here it is again].

Hi,

I found the following bug in sunday's snapshot (I am running Linux
2.1.85 and gcc 2.8.0):

I created a table with one column and inserted one row:

jeroenv=> create table test ( a int4 );
CREATE
jeroenv=> insert into test values ( 1 );
INSERT 321708 1

Some checks:

jeroenv=> select a from test where (a=1);
a
-
1
(1 row)

jeroenv=> select a from test where (a=1) and true;
a
-
1
(1 row)

Now, instead of column 'a' I return the constant 1:

jeroenv=> select 1 from test where (a=1);
?column?
--------
       1
(1 row)

jeroenv=> select 1 from test where (a=1) and true;
?column?
--------
(0 rows)

No rows is not what I would expect.

However, with 'or' instead of 'and' returning a const value the query
works OK:

jeroenv=> select 1 from test where (a=1) or true;
?column?
--------
       1
(1 row)

jeroenv=> select 1 from test where (a=1) or false;
?column?
--------
       1
(1 row)


Cheers,

Jeroen van Vianen

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

Предыдущее
От: "Meskes, Michael"
Дата:
Сообщение: RE: [HACKERS] ecpg stuff
Следующее
От: "Vadim B. Mikheev"
Дата:
Сообщение: Re: [HACKERS] ecpg stuff