diff options
author | drh <drh@noemail.net> | 2016-02-05 01:55:27 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-02-05 01:55:27 +0000 |
commit | 4a642b60607e55a2c25f663b472af3609c76b214 (patch) | |
tree | d4af5d6c69d8cde0c32bfcc7a427eb34c2815080 /src/vtab.c | |
parent | e514f651d0fb5364e6495b9d6c4dd80ca51a227f (diff) | |
download | sqlite-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.c | 8 |
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); } } |