aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <Dan Kennedy>2021-04-26 14:09:48 +0000
committerdan <Dan Kennedy>2021-04-26 14:09:48 +0000
commitbb0eec438dcffd532636c26876f7d660c40dec28 (patch)
treec98730e7d04a24062414f64db1982430fca421b6 /src
parent3ff6a5edd97db063258e6df18df4ddbfbdc369bf (diff)
downloadsqlite-bb0eec438dcffd532636c26876f7d660c40dec28.tar.gz
sqlite-bb0eec438dcffd532636c26876f7d660c40dec28.zip
Do not initialize eponymous virtual tables when parsing the schema. This can happen if the db is corrupt.
FossilOrigin-Name: cb8c41aa20bb351c4c712ed7a3617187ceeb0905ede1e6f561bc1d89f31c95ea
Diffstat (limited to 'src')
-rw-r--r--src/build.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/build.c b/src/build.c
index 5506d36de..47b0d5693 100644
--- a/src/build.c
+++ b/src/build.c
@@ -438,7 +438,7 @@ Table *sqlite3LocateTable(
/* If zName is the not the name of a table in the schema created using
** CREATE, then check to see if it is the name of an virtual table that
** can be an eponymous virtual table. */
- if( pParse->disableVtab==0 ){
+ if( pParse->disableVtab==0 && db->init.busy==0 ){
Module *pMod = (Module*)sqlite3HashFind(&db->aModule, zName);
if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){
pMod = sqlite3PragmaVtabRegister(db, zName);