aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeblob.c
diff options
context:
space:
mode:
authordrh <>2021-11-11 11:23:08 +0000
committerdrh <>2021-11-11 11:23:08 +0000
commit3ab4ffce1f2e3be98ca5d0896d92d70908d694e2 (patch)
tree2343b904f9f1dae2736e67dd9e5782f16a01ee49 /src/vdbeblob.c
parent34e71830de58302cd1922927234006e798374316 (diff)
downloadsqlite-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.c7
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
);