Hi!

Consider this scenario:

- Transaction 1 starts

- Transaction 2 starts

- Transaction 2 creates table T1

- Transaction 2 commits

- Transaction 1 tries to use table T1

If transaction 1 uses snapshot isolation, it will not see T1 at prepare
time and will not be able to use it.

But if after transaction 2 commits a transaction 3 starts and use T1,
then transaction 1 will be able to use T1.

This happens because transaction 3 will fill the metadata caches.

Can we consider this trick safe?

I do want to use it in this situation:

Profiler plugin on its first usage needs to create tables and that
tables would need to be filled in the context of the user transaction.


Adriano


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to