Hi,

At June 23, 2014, 4:19 PM, Carlos H. Cantu wrote:

NS>> Yes, for READ_ONLY + READ COMMITTED transactions you will now
NS>> inhibit GC if you keep a cursor open 
NS>> for a long time.

> This is serious change, and I'm probably against it being the default
> behavior. So far, it is well advertised that transactions using RC+RO
> does NOT block GC, and several applications out there assumes this
> being true, and uses it in "lookup" datasets without worring about the
> time they will be kept open. A change in this behavior can produce bad
> side-effects for those apps. If this change becomes the default, a new
> way of keeping the previous (non blocking) behavior must be introduced
> and very well advertised.

I don't think it takes out the non-blocking behavior, because the
blocking is only performed at the statement level, not the transaction
level. So, for a lookup dataset, it would not change a thing, since
the query results will always pick up committed data everytime it is
executed, within a READ COMMITTED transaction.

After reading about READ COMMITTED transaction isolation, I'm starting
to see what Nickolay is talking about.  It is simply to guarantee the
data consistency while the query is executing and that the data cursor
for that query, while being opened will always return consistent data.
So, the snapshot of the data is only for the query that is being
executed and the corresponding data cursor.  And, once that cursor is
closed and that the same query is executed a second time, still within
the same transaction, there is no guarantee that the same data will be
returned by the query, since it will be now reading newly committed
data.

But, after reading MS-SQL's read committed isolation level, their
default behavior is the same as Firebird's. And, they introduced the
READ COMMITTED SNAPSHOT isolation level, which is at the statement
level, and that is what Nickolay is looking for. And, both READ
COMMITTED isolation levels fall within the SQL Standard.

-- 
Best regards,
 Daniel Rail
 Senior Software Developer
 ACCRA Solutions Inc. (www.accra.ca)
 ACCRA Med Software Inc. (www.filopto.com)


------------------------------------------------------------------------------
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