mirror of
https://github.com/servalproject/serval-dna.git
synced 2025-01-30 16:13:51 +00:00
Dont treat database lock errors the same as missing records
This commit is contained in:
parent
bc87f8c7c0
commit
eaf069e1c3
5
meshms.c
5
meshms.c
@ -132,7 +132,8 @@ static enum meshms_status get_database_conversations(const sid_t *my_sid, const
|
|||||||
const char *their_sid_hex = alloca_tohex_sid_t(*(their_sid ? their_sid : my_sid));
|
const char *their_sid_hex = alloca_tohex_sid_t(*(their_sid ? their_sid : my_sid));
|
||||||
DEBUGF("Looking for conversations for %s, %s", my_sid_hex, their_sid_hex);
|
DEBUGF("Looking for conversations for %s, %s", my_sid_hex, their_sid_hex);
|
||||||
}
|
}
|
||||||
while (sqlite_step_retry(&retry, statement) == SQLITE_ROW) {
|
int r;
|
||||||
|
while ((r=sqlite_step_retry(&retry, statement)) == SQLITE_ROW) {
|
||||||
const char *id_hex = (const char *)sqlite3_column_text(statement, 0);
|
const char *id_hex = (const char *)sqlite3_column_text(statement, 0);
|
||||||
uint64_t version = sqlite3_column_int64(statement, 1);
|
uint64_t version = sqlite3_column_int64(statement, 1);
|
||||||
int64_t size = sqlite3_column_int64(statement, 2);
|
int64_t size = sqlite3_column_int64(statement, 2);
|
||||||
@ -176,6 +177,8 @@ static enum meshms_status get_database_conversations(const sid_t *my_sid, const
|
|||||||
p->size = size;
|
p->size = size;
|
||||||
}
|
}
|
||||||
sqlite3_finalize(statement);
|
sqlite3_finalize(statement);
|
||||||
|
if (r==-1)
|
||||||
|
return MESHMS_STATUS_ERROR;
|
||||||
return MESHMS_STATUS_OK;
|
return MESHMS_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1693,11 +1693,20 @@ int rhizome_retrieve_manifest(const rhizome_bid_t *bidp, rhizome_manifest *m)
|
|||||||
END);
|
END);
|
||||||
if (!statement)
|
if (!statement)
|
||||||
return -1;
|
return -1;
|
||||||
int ret = 1;
|
int ret;
|
||||||
if (sqlite_step_retry(&retry, statement) == SQLITE_ROW)
|
|
||||||
ret = unpack_manifest_row(m, statement);
|
switch(sqlite_step_retry(&retry, statement)){
|
||||||
else if (config.debug.rhizome)
|
case SQLITE_ROW:
|
||||||
DEBUGF("Manifest id=%s not found", alloca_tohex_rhizome_bid_t(*bidp));
|
ret = unpack_manifest_row(m, statement);
|
||||||
|
break;
|
||||||
|
case -1:
|
||||||
|
ret = -1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = 1;
|
||||||
|
if (config.debug.rhizome)
|
||||||
|
DEBUGF("Manifest id=%s not found", alloca_tohex_rhizome_bid_t(*bidp));
|
||||||
|
}
|
||||||
sqlite3_finalize(statement);
|
sqlite3_finalize(statement);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user