Subject Is this a bug?
Author ag0ny
Hi there,

i have the following two statements that i expect to deliver the same
results and they did so on Firebird SS-1.5.3.4870.nptl.i686. Yesterday
we updated to Firebird 2.0.0.12748-0.nptl.i686 and since then the first
statement returns nothing and the second statement returns the expected
row, but afaik has a worse execution time:

1:
SELECT TYRE_STOCK_LOCATION,DESCRIPTION FROM TYRE_STOCK_LOCATIONS WHERE
TYRE_STOCK = 1 AND TYRE_STOCK_LOCATION NOT IN (SELECT
TYRE_STOCK_LOCATION FROM TYRE_STORAGES)

2:
SELECT TYRE_STOCK_LOCATION,DESCRIPTION FROM TYRE_STOCK_LOCATIONS A WHERE
TYRE_STOCK = 1 AND NOT EXISTS (SELECT TYRE_STOCK_LOCATION FROM
TYRE_STORAGES B WHERE B.TYRE_STOCK_LOCATION = A.TYRE_STOCK_LOCATION)

Could someone explain that to me?

Cheers,

Sascha