1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359)

FossilOrigin-Name: e8be1af922098e298902820730f8b28603bd6fae
This commit is contained in:
danielk1977
2009-03-19 07:58:31 +00:00
parent cb9d8d8821
commit 65a2ea1155
6 changed files with 179 additions and 73 deletions

View File

@@ -13,7 +13,7 @@
** This file contains code use to implement APIs that are part of the
** VDBE.
**
** $Id: vdbeapi.c,v 1.153 2009/03/05 04:23:47 shane Exp $
** $Id: vdbeapi.c,v 1.154 2009/03/19 07:58:31 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "vdbeInt.h"
@@ -544,7 +544,7 @@ int sqlite3_step(sqlite3_stmt *pStmt){
sqlite3_mutex_enter(db->mutex);
while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
&& cnt++ < 5
&& vdbeReprepare(v) ){
&& (rc = vdbeReprepare(v))==SQLITE_OK ){
sqlite3_reset(pStmt);
v->expired = 0;
}