On Fri, 16 Jul 2004 10:36:27 -0400, Brad Clements <[EMAIL PROTECTED]> wrote:
> The SAP folks say their adapter is "multi-thread capable", but I've come to believe
> that only
> means that it's ok to open a connection in one thread and use it in another, but NOT
> to have
> 2 threads make requests on the same connection at the same time.
I would be surprised to find any database API that allowed that.
Generally "thread-safe" means that there are no global state
variables, i.e. all connection state is encapsulated in the connection
object/struct. Generally I would not try to share connections between
threads at all. To do it, you'd need to ensure that a thread performs
a commit or rollback on the connection before another thread can use
it, i.e. performs a complete transaction or none at all. Otherwise you
will have all sorts of interesting problems.
> Also, two threads can' t open a connection "at the same time" because their
> connection table
> management isn't "thread safe".
That does suck, but it doesn't seem like an insurmountable problem for
a DA. You just need a per-DA instance mutex which you acquire before
opening a connection release afterwards.
Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -