Re: [PDO] Question on Persistent PDO Connections
[email protected] (Christopher Jones) Fri, 06 Nov 2009 10:12:48 -0800
| Newsgroups | php.pdo |
|---|---|
| Message-ID | <[email protected]> |
Lester Caine wrote: > Christopher Jones wrote: >> > Just to clarify terms here - what are you referring to by 'session'? >> >> Here session refers to the resources used by the PHP connection. In >> OCI8, session & connection are pretty much synonymous. But if you had >> a multi-threaded mid-tier you could code an application to have >> multiple user sessions per physical DB connection. Fundamentally it's >> a way of resource sharing. The connection is a "pipe" to the DB and >> the session is the work being done across the pipe. >> >> > I would not expect transactions to remain open from one page load to >> > the next, but that seems to be what some people are asking for? >> > Anything that needs to be persistent across page loads should be >> > held either in the database or outside transactions? >> > >> > One can not run a multiuser system if someone is going to start a >> > transaction but not finish it - perhaps due to loss of connection .... >> >> Transaction monitors traditionally allow external control of >> transaction state. In Oracle 11g this has been exposed through to a >> simple API which is fun: a DB transaction can span multiple HTTP >> requests. See >> http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10471/adfns_xa.htm#ADFNS802 > > > What happens in this example where the suspended transaction is never > completed? Sounds like a recipe for disaster to me ;) That why they call them "monitors". TPMs monitor the transaction state and resolve "in-doubt" transactions according to configured rules. This is the same as an e-commerce website having to decide when a shopping cart has been abandoned. Chris -- Blog: http://blogs.oracle.com/opal Twitter: http://twitter.com/ghrd