From: André K. <Kna...@be...> - 2014-04-08 11:01:14
|
Hi there, I nearly broke my head around some mysterious behaviour of my application, and right now I don't know if this is all natural and WAD or maybe if there was a bug in 3.0.2 or maybe still is. First I'm gonna give a brief description and maybe one of the experts here can tell me what I am probably understanding wrong about how FBProvider handles transactions. 1.) Transaction T1 saves a new record to the database, then commits (certified!). 2.) T2 selects records from the database, but does not get the recently saved record. T2 commits. 3.) T3 is really doing the same as T2 (because I am only calling the very same method!), but now the missing record is selected. I am handling transactions like this: t = connXY.BeginTransaction(); ... ... // do the stuff ... ... t.commit(); t = null; All transactions are using the same connection object. Isolation level is "read committed"; using all the default values. I would have expected T2 to select the record that has been committed to the database by T1. And I am certainly surprised that simply "asking the database again" will then yield the record. T1 most definitely is committed. Of course I am using try/catch and in addition I checked with other software using "read committed" and they can already select the new record. Where is my misconception in this story? I plan to implement a lot more "live" updates using events and would like to get immediate selecting of freshly inserted records working. mit freundlichen Grüßen, André Knappstein EDV und Controlling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ beta Eigenheim- und Grundstücksverwertungsgesellschaft mbH Hafenweg 4 59192 Bergkamen-Rünthe Telefon: +49 2389 9240 140 Telefax: +49 2389 9240 150 e-mail: kna...@be... Amtsgericht Hamm Nr. B 420 Geschäftsführer: Achim Krähling, Dirk Salewski und Matthias Steinhaus USt-IDNr.: DE 125215402 |