Subject Re: [firebird-support] Firebird 2.5 - Snapshot isolation broken when executing stored procedure?
Author unordained
---------- Original Message -----------
From: Thomas Steinmaurer <ts@...>
> Which IMHO is wrong.
>
> With Firebird 2.1, the last select * from p_1 gives me 9 as result,
> which is IMHO correct, because I started a snapshot isolation
> transaction *before* the CREATE OR ALTER PROCEDURE has been executed
> by session 1.
>
> So, anything wrong with snapshot isolation in Firebird 2.5? Is this
> reproducable?
>
> Thanks!
------- End of Original Message -------

What you're seeing is that transactions now immediately see stored procedure /
trigger changes committed elsewhere. I think this might be:

http://www.firebirdsql.org/rlsnotesh/rlsnotes25.html#rnfb25-ddl-storedproc
http://tracker.firebirdsql.org/browse/CORE-2052 (procedures, classic)
http://tracker.firebirdsql.org/browse/CORE-1208 (similar, triggers)

I personally just wanted new transactions to always see modified SP/Trigger code,
but it seems they went from PSQL being cached at the connection level (new
transactions on old connections -- such as when using connection pools -- don't
ever see new PSQL) to the cache being updated instantly regardless of transaction
boundaries. CORE-1208 seems to suggest that this was a fix to bring CS in line
with SS, but I can't find the exact ticket describing the change to SS.

-Philip