truth table missing values

Started by Dennis Bjorklundover 22 years ago3 messagesdocs
Jump to latest
#1Dennis Bjorklund
db@zigo.dhs.org

The truth table in

http://www.postgresql.org/docs/7.3/static/functions.html#FUNCTIONS-LOGICAL

is missing some rows. The meaning is clear if you know that AND and OR is
commutative but that is not written there either.

The reason I found this at all is because in mysql AND is not commutative.
In other words, in mysql

SELECT (NULL AND FALSE);

is not the same as

SELECT (FALSE AND NULL);

The reason stated in
http://www.mysql.com/documentation/mysql/bychapter/manual_Introduction.html#Differences_from_ANSI

is

"NULL AND FALSE will evaluate to NULL and not to FALSE. This is because we
don't think it's good to have to evaluate a lot of extra conditions in
this case."

I tried to look in the devel doc to see if it was the same there, but the
devel part of the site is gone at the moment it seems like. It might be a
good idea to add all combinations just to make it clear for people comming
from mysql (not me, I just stumbled over it by mistake).

--
/Dennis

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Dennis Bjorklund (#1)
Re: truth table missing values

Dennis Bjᅵrklund writes:

The truth table in

http://www.postgresql.org/docs/7.3/static/functions.html#FUNCTIONS-LOGICAL

is missing some rows. The meaning is clear if you know that AND and OR is
commutative but that is not written there either.

I've added a note that they are commutative.

--
Peter Eisentraut peter_e@gmx.net

#3scott.marlowe
scott.marlowe@ihs.com
In reply to: Dennis Bjorklund (#1)
Re: truth table missing values

On Mon, 4 Aug 2003, Dennis Bj�rklund wrote:

The reason stated in
http://www.mysql.com/documentation/mysql/bychapter/manual_Introduction.html#Differences_from_ANSI

is

"NULL AND FALSE will evaluate to NULL and not to FALSE. This is because we
don't think it's good to have to evaluate a lot of extra conditions in
this case."

<sarcasm>
wow, with a development philosophy like that it's amazing mysql isn't
running in banks everywhere.
</sarcasm>