Does psql evaluate OR conditions in order? - Mailing list pgsql-novice

From HideMe
Subject Does psql evaluate OR conditions in order?
Date
Msg-id e364b7b91b2f303cb37add13b25b799a@webmail.webfaction.com
Whole thread Raw
Responses Re: Does psql evaluate OR conditions in order?
List pgsql-novice
Postgres 9.1
Ubuntu something.

We have a stored procedure that performs the following evaluations:

IF ST_Intersects(line1, line2) OR ST_Intersects(line3, line4) THEN
    do stuff
ELSIF ST_Intersects(line5, line6) OR ST_Intersects(line7, line8) THEN
    do stuffB
END IF;

98% of the time the 2nd half of these IF statements will never be true.
ST_Intersects is an expensive operations to perform.

Given we're executing this across a lot of data... avoiding expensive
calls is a good idea.
So, can we count on the evaluation of the 1st half of the IF's being
done first before trying the 2nd half, or
should we re-write the IF/ELSE to

IF ST_Intersects(line1, line2) THEN
    do stuff
ELSIF ST_Intersects(line5, line6) THEN
    do stuffB
ELSIF ST_Intersects(line3, line4) THEN
    do stuff
ELSIF ST_Intersects(line7, line8) THEN
    do stuffB
END IF;


Roxanne


pgsql-novice by date:

Previous
From: jody
Date:
Subject: Re: db dump from php
Next
From: Tom Lane
Date:
Subject: Re: Does psql evaluate OR conditions in order?