mirror of
https://github.com/simon987/sist2.git
synced 2025-04-18 01:36:42 +00:00
add_work fix for problem in #349 pt 2
This commit is contained in:
parent
6c4bdc87cf
commit
7baaca5078
@ -581,7 +581,11 @@ void database_add_work(database_t *db, job_t *job) {
|
|||||||
ret = sqlite3_step(db->insert_parse_job_stmt);
|
ret = sqlite3_step(db->insert_parse_job_stmt);
|
||||||
|
|
||||||
if (ret == SQLITE_FULL) {
|
if (ret == SQLITE_FULL) {
|
||||||
|
sqlite3_reset(db->insert_parse_job_stmt);
|
||||||
|
pthread_mutex_unlock(&db->ipc_ctx->db_mutex);
|
||||||
usleep(1000000);
|
usleep(1000000);
|
||||||
|
pthread_mutex_lock(&db->ipc_ctx->db_mutex);
|
||||||
|
continue;
|
||||||
} else {
|
} else {
|
||||||
CRASH_IF_STMT_FAIL(ret);
|
CRASH_IF_STMT_FAIL(ret);
|
||||||
}
|
}
|
||||||
@ -591,8 +595,10 @@ void database_add_work(database_t *db, job_t *job) {
|
|||||||
pthread_mutex_unlock(&db->ipc_ctx->db_mutex);
|
pthread_mutex_unlock(&db->ipc_ctx->db_mutex);
|
||||||
usleep(100000);
|
usleep(100000);
|
||||||
pthread_mutex_lock(&db->ipc_ctx->db_mutex);
|
pthread_mutex_lock(&db->ipc_ctx->db_mutex);
|
||||||
|
} else if (ret != SQLITE_OK) {
|
||||||
|
LOG_FATALF("database.c", "sqlite3_reset returned error %d", ret);
|
||||||
}
|
}
|
||||||
} while (ret != SQLITE_DONE);
|
} while (ret != SQLITE_DONE && ret != SQLITE_OK);
|
||||||
} else if (job->type == JOB_BULK_LINE) {
|
} else if (job->type == JOB_BULK_LINE) {
|
||||||
do {
|
do {
|
||||||
sqlite3_bind_text(db->insert_index_job_stmt, 1, job->bulk_line->doc_id, -1, SQLITE_STATIC);
|
sqlite3_bind_text(db->insert_index_job_stmt, 1, job->bulk_line->doc_id, -1, SQLITE_STATIC);
|
||||||
@ -620,6 +626,8 @@ void database_add_work(database_t *db, job_t *job) {
|
|||||||
pthread_mutex_unlock(&db->ipc_ctx->db_mutex);
|
pthread_mutex_unlock(&db->ipc_ctx->db_mutex);
|
||||||
usleep(100000);
|
usleep(100000);
|
||||||
pthread_mutex_lock(&db->ipc_ctx->db_mutex);
|
pthread_mutex_lock(&db->ipc_ctx->db_mutex);
|
||||||
|
} else if (ret != SQLITE_OK) {
|
||||||
|
LOG_FATALF("database.c", "sqlite3_reset returned error %d", ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (ret != SQLITE_DONE && ret != SQLITE_OK);
|
} while (ret != SQLITE_DONE && ret != SQLITE_OK);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user