aboutsummaryrefslogtreecommitdiff
path: root/src/fault.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2008-03-27 22:42:51 +0000
committerdrh <drh@noemail.net>2008-03-27 22:42:51 +0000
commit19db935225bc66eafbc830e3a76262a0d68d870a (patch)
treed509c76e1bce618ae5be688df7f8d51d1974d1e0 /src/fault.c
parent9882d99993685fb111372c9205c2cd83952580a3 (diff)
downloadsqlite-19db935225bc66eafbc830e3a76262a0d68d870a.tar.gz
sqlite-19db935225bc66eafbc830e3a76262a0d68d870a.zip
Allow the xAccess method in the VFS to return -1 to signal an I/O
error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) FossilOrigin-Name: 3cb704c4c439425781644b1b653b7e50f02fd91e
Diffstat (limited to 'src/fault.c')
-rw-r--r--src/fault.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/fault.c b/src/fault.c
index 7e183ed43..d31dd4387 100644
--- a/src/fault.c
+++ b/src/fault.c
@@ -42,7 +42,7 @@ static struct FaultInjector {
int nBenign; /* Number of benign failures seen since last config */
int nFail; /* Number of failures seen since last config */
u8 enable; /* True if enabled */
- u8 benign; /* Ture if next failure will be benign */
+ u8 benign; /* True if next failure will be benign */
} aFault[SQLITE_FAULTINJECTOR_COUNT];
/*
@@ -105,8 +105,14 @@ int sqlite3FaultPending(int id){
** a hash table resize is a benign fault.
*/
void sqlite3FaultBenign(int id, int enable){
- assert( id>=0 && id<SQLITE_FAULTINJECTOR_COUNT );
- aFault[id].benign = enable;
+ if( id<0 ){
+ for(id=0; id<SQLITE_FAULTINJECTOR_COUNT; id++){
+ aFault[id].benign = enable;
+ }
+ }else{
+ assert( id>=0 && id<SQLITE_FAULTINJECTOR_COUNT );
+ aFault[id].benign = enable;
+ }
}
/*