2014-06-25 14:49 GMT+04:00 Dimitry Sibiryakov <s...@ibphoenix.com>: > 25.06.2014 12:41, Roman Simakov wrote: >> The same prepared query can re-read fresh data in the same >> transaction, for instance refresh number of books. > > You'll be wondered, perhaps, but a prepared query can re-read fresh data > in any > transaction, not only in one where it was prepared.
It does not matter. New query - new data. No new data during the same query. >> But read commited transaction can see new data. > > Newly started concurency-level transaction can do it as well. Explain it to "strange developers" who start transaction and open cursor at the begin of day in order to fetch at the end :) And one more about logic. Currently it's possible: 1) We have a table X(c char) with 2 records {A, B} 2) transaction T1 opens select * from X,X and fetch A,A A,B B,A B,B 3) Transaction T2 inserts C into X and commit 4) T1 continue fetchs C,A C,B C,C right? So cross join of X will return A,A A,B B,A B,B C,A C,B C,C It's semantically incorrect and maybe considered as bug. Bug should not be by default. We may allow user to "return" this bug by TPB option or change default server behavior for legacy applications by firebird.conf option. -- Roman Simakov ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel