In query like this
SELECT * FROM SOME_TABLE WHERE 1 = 0
It is obviously that condition in WHERE clause is always FALSE, but FB will read all records from SOME_TABLE without any benefits.
Now real example where this improvement can be usefull. I need to write recursive CTE and specify level deep limit. I wrote such test query:
DECLARE MAX_LEV SMALLINT = 0;
FOR WITH RECURSIVE TR AS (
SELECT T.*, 1 AS LEV FROM "Tree" T WHERE PARENT_ID IS NULL
SELECT T.*, TR.LEV + 1 AS LEV FROM "Tree" T, TR WHERE PARENT_ID = TR.ID AND TR.LEV < :MAX_LEV)
SELECT ID, LEV FROM TR INTO :ID, :LEV AS CURSOR CUR DO
and in this query part
SELECT T.*, TR.LEV + 1 AS LEV FROM "Tree" T, TR WHERE PARENT_ID = TR.ID AND TR.LEV < :MAX_LEV
will be make unnecessary work for each leaf and performance will be worse.