Marten Quadland wrote:
Jim,
Regarding the indefinite block on data due to multiple requests on the same table, I have two questions:
1) Does it matter if the Database connection is on two different Machines or on machine?
No.
2) Where does this problem occur, the single threaded ODBC connection, Oracle, Zope, or where?
When the application (e.g. Zope) makes a C API call, the API call will block.
If I understand Oracle correctly, as soon as the insert on T1 has been commited, then the lock will be released on the page and the select from the T2 query should run without a problem.
Right, except that if T1 and T2 are running in the same thread, T1 can't commit until the call to S2 returns, but that won't happen because the call to S2 is blocked until T1 commits. As pointed out, databases that use time-stamp protocols (like ZODB and, I guess, Postgress) will not have this problem. Some databases will eventually time out on S2, possibly as part of a deadlock detection strategy. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.