diff options
author | drh <> | 2021-11-11 11:23:08 +0000 |
---|---|---|
committer | drh <> | 2021-11-11 11:23:08 +0000 |
commit | 3ab4ffce1f2e3be98ca5d0896d92d70908d694e2 (patch) | |
tree | 2343b904f9f1dae2736e67dd9e5782f16a01ee49 /src/vdbeblob.c | |
parent | 34e71830de58302cd1922927234006e798374316 (diff) | |
download | sqlite-3ab4ffce1f2e3be98ca5d0896d92d70908d694e2.tar.gz sqlite-3ab4ffce1f2e3be98ca5d0896d92d70908d694e2.zip |
New assert() statements to help prove correct usage of VdbeCursor objects.
FossilOrigin-Name: 7cee62f77a9e7c3cf886f136e75a93c3bbbb88e48b66035883bea5503d9fc03c
Diffstat (limited to 'src/vdbeblob.c')
-rw-r--r-- | src/vdbeblob.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vdbeblob.c b/src/vdbeblob.c index 9cf6b5495..512442fd2 100644 --- a/src/vdbeblob.c +++ b/src/vdbeblob.c @@ -75,7 +75,10 @@ static int blobSeekToRow(Incrblob *p, sqlite3_int64 iRow, char **pzErr){ } if( rc==SQLITE_ROW ){ VdbeCursor *pC = v->apCsr[0]; - u32 type = pC->nHdrParsed>p->iCol ? pC->aType[p->iCol] : 0; + u32 type; + assert( pC!=0 ); + assert( pC->eCurType==CURTYPE_BTREE ); + type = pC->nHdrParsed>p->iCol ? pC->aType[p->iCol] : 0; testcase( pC->nHdrParsed==p->iCol ); testcase( pC->nHdrParsed==p->iCol+1 ); if( type<12 ){ @@ -420,6 +423,8 @@ static int blobReadWrite( */ sqlite3_int64 iKey; iKey = sqlite3BtreeIntegerKey(p->pCsr); + assert( v->apCsr[0]!=0 ); + assert( v->apCsr[0]->eCurType==CURTYPE_BTREE ); sqlite3VdbePreUpdateHook( v, v->apCsr[0], SQLITE_DELETE, p->zDb, p->pTab, iKey, -1, p->iCol ); |