diff options
author | drh <> | 2023-09-07 02:13:01 +0000 |
---|---|---|
committer | drh <> | 2023-09-07 02:13:01 +0000 |
commit | dd69129f2a3713a1e7e3a37dc0770521e08cad0d (patch) | |
tree | 0a91179d7f07a3d2a0376c622520369229a84819 /src | |
parent | d4bb0896d4c0febbd9964c4185948f10a3d22066 (diff) | |
download | sqlite-dd69129f2a3713a1e7e3a37dc0770521e08cad0d.tar.gz sqlite-dd69129f2a3713a1e7e3a37dc0770521e08cad0d.zip |
Fix a problem with the new xIntegrity method for virtual tables, and also fix
a bad assert() in FTS3 that was found by the new xIntegrity method.
FossilOrigin-Name: 52bbf44f2d9addc2b5f68b0fe33542470852310ce3a283e2c7ff4c52831d0ed1
Diffstat (limited to 'src')
-rw-r--r-- | src/vdbe.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vdbe.c b/src/vdbe.c index eccd5291e..41e56d306 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -8156,7 +8156,11 @@ case OP_VCheck: { /* out2 */ assert( pModule!=0 ); assert( pModule->iVersion>=4 ); assert( pModule->xIntegrity!=0 ); + pTab->nTabRef++; + sqlite3VtabLock(pTab->u.vtab.p); rc = pModule->xIntegrity(pVtab, &zErr); + sqlite3VtabUnlock(pTab->u.vtab.p); + sqlite3DeleteTable(db, pTab); if( rc ){ sqlite3_free(zErr); goto abort_due_to_error; |