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  **
     \\//
     //\\
    //  \\

Reply via email to