summaryrefslogtreecommitdiffstats
path: root/test/fuzzcheck.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/fuzzcheck.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c
index e4ad1c1..6cae348 100644
--- a/test/fuzzcheck.c
+++ b/test/fuzzcheck.c
@@ -979,7 +979,8 @@ extern int fuzz_invariant(
int iRow, /* The row number for pStmt */
int nRow, /* Total number of output rows */
int *pbCorrupt, /* IN/OUT: Flag indicating a corrupt database file */
- int eVerbosity /* How much debugging output */
+ int eVerbosity, /* How much debugging output */
+ unsigned int dbOpt /* Default optimization flags */
);
/* Implementation of sqlite_dbdata and sqlite_dbptr */
@@ -1031,7 +1032,12 @@ static int recoverDatabase(sqlite3 *db){
/*
** Run the SQL text
*/
-static int runDbSql(sqlite3 *db, const char *zSql, unsigned int *pBtsFlags){
+static int runDbSql(
+ sqlite3 *db, /* Run SQL on this database connection */
+ const char *zSql, /* The SQL to be run */
+ unsigned int *pBtsFlags,
+ unsigned int dbOpt /* Default optimization flags */
+){
int rc;
sqlite3_stmt *pStmt;
int bCorrupt = 0;
@@ -1107,7 +1113,7 @@ static int runDbSql(sqlite3 *db, const char *zSql, unsigned int *pBtsFlags){
iRow++;
for(iCnt=0; iCnt<99999; iCnt++){
rc = fuzz_invariant(db, pStmt, iCnt, iRow, nRow,
- &bCorrupt, eVerbosity);
+ &bCorrupt, eVerbosity, dbOpt);
if( rc==SQLITE_DONE ) break;
if( rc!=SQLITE_ERROR ) g.nInvariant++;
if( eVerbosity>0 ){
@@ -1330,7 +1336,7 @@ int runCombinedDbSqlInput(
char cSaved = zSql[i+1];
zSql[i+1] = 0;
if( sqlite3_complete(zSql+j) ){
- rc = runDbSql(cx.db, zSql+j, &btsFlags);
+ rc = runDbSql(cx.db, zSql+j, &btsFlags, dbOpt);
j = i+1;
}
zSql[i+1] = cSaved;
@@ -1340,7 +1346,7 @@ int runCombinedDbSqlInput(
}
}
if( j<i ){
- runDbSql(cx.db, zSql+j, &btsFlags);
+ runDbSql(cx.db, zSql+j, &btsFlags, dbOpt);
}
}
testrun_finished: