Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order

of parameters.  Give it the ability to reset the schema parse table so that
imposter tables can be erased.

FossilOrigin-Name: 42d5601739c90434e5adfda8fa99ef7b903877db
This commit is contained in:
drh
2015-01-30 20:59:27 +00:00
parent 0699f29a14
commit 1ffede8c86
10 changed files with 116 additions and 50 deletions
+9 -8
View File
@@ -5915,7 +5915,7 @@ static int test_test_control(
} aVerb[] = {
{ "SQLITE_TESTCTRL_LOCALTIME_FAULT", SQLITE_TESTCTRL_LOCALTIME_FAULT },
{ "SQLITE_TESTCTRL_SORTER_MMAP", SQLITE_TESTCTRL_SORTER_MMAP },
{ "SQLITE_TESTCTRL_INITMODE", SQLITE_TESTCTRL_INITMODE },
{ "SQLITE_TESTCTRL_IMPOSTER", SQLITE_TESTCTRL_IMPOSTER },
};
int iVerb;
int iFlag;
@@ -5957,18 +5957,19 @@ static int test_test_control(
break;
}
case SQLITE_TESTCTRL_INITMODE: {
int fBusy, iDb, newTnum;
case SQLITE_TESTCTRL_IMPOSTER: {
int onOff, tnum;
const char *zDbName;
sqlite3 *db;
if( objc!=6 ){
Tcl_WrongNumArgs(interp, 2, objv, "DB fBusy iDb newTnum");
Tcl_WrongNumArgs(interp, 2, objv, "DB dbName onOff tnum");
return TCL_ERROR;
}
if( getDbPointer(interp, Tcl_GetString(objv[2]), &db) ) return TCL_ERROR;
if( Tcl_GetIntFromObj(interp, objv[3], &fBusy) ) return TCL_ERROR;
if( Tcl_GetIntFromObj(interp, objv[4], &iDb) ) return TCL_ERROR;
if( Tcl_GetIntFromObj(interp, objv[5], &newTnum) ) return TCL_ERROR;
sqlite3_test_control(SQLITE_TESTCTRL_INITMODE, db, fBusy, iDb, newTnum);
zDbName = Tcl_GetString(objv[3]);
if( Tcl_GetIntFromObj(interp, objv[4], &onOff) ) return TCL_ERROR;
if( Tcl_GetIntFromObj(interp, objv[5], &tnum) ) return TCL_ERROR;
sqlite3_test_control(SQLITE_TESTCTRL_IMPOSTER, db, zDbName, onOff, tnum);
break;
}
}