diff options
author | drh <drh@noemail.net> | 2017-12-29 13:35:09 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2017-12-29 13:35:09 +0000 |
commit | 7a8573bafaba8b341ec033a0ecc810afeceda94e (patch) | |
tree | 67a72353c4313c2cadb24a46a54af0cf87104317 /src/main.c | |
parent | 2fc865c1153d739208657ea652f74426bf20f678 (diff) | |
parent | ee052a1c941920dab3fab38785fbf03237677b7a (diff) | |
download | sqlite-7a8573bafaba8b341ec033a0ecc810afeceda94e.tar.gz sqlite-7a8573bafaba8b341ec033a0ecc810afeceda94e.zip |
Merge recent enhancements from trunk.
FossilOrigin-Name: 6251e438f2a76170fd1e95aa512a46086ed88ab93b9b97a1dba97c4558689305
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/main.c b/src/main.c index 52d3be953..3c8035c12 100644 --- a/src/main.c +++ b/src/main.c @@ -806,21 +806,6 @@ int sqlite3_db_config(sqlite3 *db, int op, ...){ rc = setupLookaside(db, pBuf, sz, cnt); break; } - case SQLITE_DBCONFIG_FULL_EQP: { - int onoff = va_arg(ap, int); - int *pRes = va_arg(ap, int*); - if( onoff>0 ){ - db->bFullEQP = 1; - }else if( onoff==0 ){ - db->bFullEQP = 0; - } - sqlite3ExpirePreparedStatements(db); - if( pRes ){ - *pRes = db->bFullEQP; - } - rc = SQLITE_OK; - break; - } default: { static const struct { int op; /* The opcode */ @@ -832,6 +817,7 @@ int sqlite3_db_config(sqlite3 *db, int op, ...){ { SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, SQLITE_LoadExtension }, { SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, SQLITE_NoCkptOnClose }, { SQLITE_DBCONFIG_ENABLE_QPSG, SQLITE_EnableQPSG }, + { SQLITE_DBCONFIG_TRIGGER_EQP, SQLITE_TriggerEQP }, }; unsigned int i; rc = SQLITE_ERROR; /* IMP: R-42790-23372 */ @@ -3925,6 +3911,22 @@ int sqlite3_test_control(int op, ...){ sqlite3_mutex_leave(db->mutex); break; } + +#if defined(YYCOVERAGE) + /* sqlite3_test_control(SQLITE_TESTCTRL_PARSER_COVERAGE, FILE *out) + ** + ** This test control (only available when SQLite is compiled with + ** -DYYCOVERAGE) writes a report onto "out" that shows all + ** state/lookahead combinations in the parser state machine + ** which are never exercised. If any state is missed, make the + ** return code SQLITE_ERROR. + */ + case SQLITE_TESTCTRL_PARSER_COVERAGE: { + FILE *out = va_arg(ap, FILE*); + if( sqlite3ParserCoverage(out) ) rc = SQLITE_ERROR; + break; + } +#endif /* defined(YYCOVERAGE) */ } va_end(ap); #endif /* SQLITE_UNTESTABLE */ |