mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
Test that virtual table methods xBestIndex, xOpen, xFilter, xNext, xColumn, xRowid, xUpdate, xSync and xBegin can all return error messages using the sqlite3_vtab.zErrMsg variable. (CVS 5519)
FossilOrigin-Name: 007359b770f225877880b11f4c5d97bb548e38ca
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
** to version 2.8.7, all this code was combined into the vdbe.c source file.
|
||||
** But that file was getting too big so this subroutines were split out.
|
||||
**
|
||||
** $Id: vdbeaux.c,v 1.402 2008/07/31 01:43:14 shane Exp $
|
||||
** $Id: vdbeaux.c,v 1.403 2008/08/01 17:37:41 danielk1977 Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <ctype.h>
|
||||
@@ -1216,7 +1216,7 @@ int sqlite3VdbeSetColName(Vdbe *p, int idx, int var, const char *zName, int N){
|
||||
** write-transaction spanning more than one database file, this routine
|
||||
** takes care of the master journal trickery.
|
||||
*/
|
||||
static int vdbeCommit(sqlite3 *db){
|
||||
static int vdbeCommit(sqlite3 *db, Vdbe *p){
|
||||
int i;
|
||||
int nTrans = 0; /* Number of databases with an active write-transaction */
|
||||
int rc = SQLITE_OK;
|
||||
@@ -1228,7 +1228,7 @@ static int vdbeCommit(sqlite3 *db){
|
||||
** required, as an xSync() callback may add an attached database
|
||||
** to the transaction.
|
||||
*/
|
||||
rc = sqlite3VtabSync(db, rc);
|
||||
rc = sqlite3VtabSync(db, &p->zErrMsg);
|
||||
if( rc!=SQLITE_OK ){
|
||||
return rc;
|
||||
}
|
||||
@@ -1592,7 +1592,7 @@ int sqlite3VdbeHalt(Vdbe *p){
|
||||
** successful or hit an 'OR FAIL' constraint. This means a commit
|
||||
** is required.
|
||||
*/
|
||||
int rc = vdbeCommit(db);
|
||||
int rc = vdbeCommit(db, p);
|
||||
if( rc==SQLITE_BUSY ){
|
||||
sqlite3BtreeMutexArrayLeave(&p->aMutex);
|
||||
return SQLITE_BUSY;
|
||||
|
||||
Reference in New Issue
Block a user