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

Reply via email to