OR working strangely.

From: Börkur Sigurbjörnsson <borkur(at)handpoint(dot)com>
To: <pgsql-general(at)postgreSQL(dot)org>
Subject: OR working strangely.
Date: 2000-09-14 18:18:27
Message-ID: PJECLEJFCKCCLOKOMKAHIEEBCDAA.borkur@handpoint.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

We are seeing very strange behaviour in our OR statements:

> SELECT l.list AS list, l.locked AS usr
FROM svr_lists_questions lq, svr_lists l
WHERE ( l.locked != '{a7372de3-92b7-408b-8874-373b883b19a6}' )
OR ( 1=0 )
+----------------------------------------+----------------------------------
------+
| list | usr
|
+----------------------------------------+----------------------------------
------+
| {0aa12786-331b-f691-8d83-39d78ae8554e} |
{16c1b998-4daf-7379-cefb-276cecb634e8} |
+----------------------------------------+----------------------------------
------+
Query OK, 1 rows in set (0,74 sec)

> SELECT l.list AS list, l.locked AS usr
FROM svr_lists_questions lq, svr_lists l
WHERE ( l.locked != '{a7372de3-92b7-408b-8874-373b883b19a6}' )
OR

lq.question IN

SELECT lq.question
FROM svr_lists_questions lq, svr_lists l
WHERE lq.list = l.list
AND l.locked != '{a7372de3-92b7-408b-8874-373b883b19a6}'
GROUP BY lq.question
)
AND lq.list = l.list
)
+------+-----+
| list | usr |
+------+-----+
+------+-----+
Query OK, 0 rows in set (0,64 sec)

Note that "(criteria 1) OR (1=0)" returns a result, but
"(criteria 1) OR (criteria 2)" returns an empty table!

Criteria 2 should be a don´t care factor in this, since (1=0) is obviously
false.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Börkur Sigurbjörnsson, developer
borkur(at)handpoint(dot)com

tel: + 354 561 0700
mobile: + 354 869 2122

handPoint
www.handpoint.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Matthew 2000-09-14 19:03:50 RE: Upgrading from 6.3.2 to 7.0.2
Previous Message Bryan White 2000-09-14 17:50:25 Re: Corrupt Table