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