<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hello,</p>
<p><br>
</p>
<p>Current implementation of DBD::SQLite supports busy timeout (sqlite_busy_timeout), but not busy handler.</p>
<p><br>
</p>
<p>sqlite3's busy handler (sqlite3_busy_handler) offers alternative way to deal with busy timeout (sqlite3_busy_timeout).</p>
<p>For example, it allows one to implement infinite busy timeout with a callback used to identify (e.g. once a minute) process holder of write lock to the database. With busy timeout the caller needs to implement retry logic for every query, which is cumbersome.</p>
<p><br>
</p>
<p>Are there plans to add support to busy handler?</p>
<p><br>
</p>
<p>I am thinking of implementing driver private method sqlite_busy_handler and will welcome any insights. Perhaps I am missing something.
<br>
</p>
<p><br>
</p>
<p>I considered using <span>sqlite_progress_handler</span> but can't implement the above busy handler functionality using it, as there is no way to determine that database is busy. Plus sleeping in progress handler defeats its purpose and causes delay.</p>
<p><br>
</p>
<p>Thank you,<br>
</p>
<p>George<br>
</p>
<p></p>
<p></p>
</div>
</body>
</html>