Subject Re: [Firebird-Architect] ORs in Where statement
Author Jim Starkey
At 02:02 PM 6/12/03 -0700, Chris Meelhuysen wrote:
>Is Firebird constructed in such a way that when one OR condition is true
>that it doesn't calculate the rest since we already know it can be used?
>
>such as if i have a
>
>where thisvalue = 1 or thisvalue =2
>
>if my value is 1 then it never checks to see if my value equal 2 because i'm
>already good to go.
>
>or does this type of thing not work like this within an SQL database?


In general, of course. There's no point in continuing to evaluate a boolean
after its value is known. However, if both branches of the adjunct are
index retrievable, each will be resolved to a sparse bitmap, the bitmaps
or-ed bitwise, and the retrieval driven by the result. The full boolean will
be evaluated on records from the resulting stream.

Jim Starkey