aboutsummaryrefslogtreecommitdiff
path: root/src/vtab.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-02-05 01:55:27 +0000
committerdrh <drh@noemail.net>2016-02-05 01:55:27 +0000
commit4a642b60607e55a2c25f663b472af3609c76b214 (patch)
treed4af5d6c69d8cde0c32bfcc7a427eb34c2815080 /src/vtab.c
parente514f651d0fb5364e6495b9d6c4dd80ca51a227f (diff)
downloadsqlite-4a642b60607e55a2c25f663b472af3609c76b214.tar.gz
sqlite-4a642b60607e55a2c25f663b472af3609c76b214.zip
Improvements to the way that OOM errors are processed.
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
Diffstat (limited to 'src/vtab.c')
-rw-r--r--src/vtab.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/vtab.c b/src/vtab.c
index ea79cd8ce..ca444944f 100644
--- a/src/vtab.c
+++ b/src/vtab.c
@@ -62,7 +62,7 @@ static int createModule(
pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod);
assert( pDel==0 || pDel==pMod );
if( pDel ){
- db->mallocFailed = 1;
+ sqlite3OomFault(db);
sqlite3DbFree(db, pDel);
}
}
@@ -439,7 +439,7 @@ void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){
assert( sqlite3SchemaMutexHeld(db, 0, pSchema) );
pOld = sqlite3HashInsert(&pSchema->tblHash, zName, pTab);
if( pOld ){
- db->mallocFailed = 1;
+ sqlite3OomFault(db);
assert( pTab==pOld ); /* Malloc must have failed inside HashInsert() */
return;
}
@@ -530,7 +530,7 @@ static int vtabCallConstructor(
db->pVtabCtx = &sCtx;
rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVTable->pVtab, &zErr);
db->pVtabCtx = sCtx.pPrior;
- if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
+ if( rc==SQLITE_NOMEM ) sqlite3OomFault(db);
assert( sCtx.pTab==pTab );
if( SQLITE_OK!=rc ){
@@ -1088,7 +1088,7 @@ void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){
pToplevel->apVtabLock = apVtabLock;
pToplevel->apVtabLock[pToplevel->nVtabLock++] = pTab;
}else{
- pToplevel->db->mallocFailed = 1;
+ sqlite3OomFault(pToplevel->db);
}
}