On Wed, 21 Mar 2001, Vladimir Jebelev wrote:
> Hi,
>
> I am having problems with DBD::Sybase when execute() blocks and never
> returns - don't know for sure if it's the driver or maybe the client
> library (I am using DBI 1.14, DBD::Sybase 0.91 and Sybase server 11.0.3 on
> Linux). Once in a while - approximately once per every 10,000 SQL queries
> - could be select, or update, or insert, execute() would block and just
> sit there forever until the process is killed. I worked around this by
> specifying timeout parameter in DSN and retrying execute if failed on
> timeout - unfortunately this isn't perfect since when it fails on insert,
> the data may have been pushed to DB already and the second insert with the
> same data will fail in most cases because of data integrity constraints.
Welcome to the world of deadlocks. I can only recommend some good long
reading of the rather excellent Sybase documentation on deadlocks (which
will happen even if you upgrade to 12.0 and use row level locking).
--
<Matt/>
/|| ** Founder and CTO ** ** http://axkit.com/ **
//|| ** AxKit.com Ltd ** ** XML Application Serving **
// || ** http://axkit.org ** ** XSLT, XPathScript, XSP **
// \\| // ** mod_perl news and resources: http://take23.org **
\\//
//\\
// \\