ssb: Chasing some failed blob stores. Bumping some sqlite limits seems to have actually helped?
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 33m30s
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 33m30s
This commit is contained in:
parent
5423cbd628
commit
f36620927b
@ -718,12 +718,12 @@ $(SQLITE_OBJS): CFLAGS += \
|
|||||||
-DSQLITE_MAX_COMPOUND_SELECT=300 \
|
-DSQLITE_MAX_COMPOUND_SELECT=300 \
|
||||||
-DSQLITE_MAX_EXPR_DEPTH=40 \
|
-DSQLITE_MAX_EXPR_DEPTH=40 \
|
||||||
-DSQLITE_MAX_FUNCTION_ARG=8 \
|
-DSQLITE_MAX_FUNCTION_ARG=8 \
|
||||||
-DSQLITE_MAX_LENGTH=5242880 \
|
-DSQLITE_MAX_LENGTH=10485760 \
|
||||||
-DSQLITE_MAX_LIKE_PATTERN_LENGTH=50 \
|
-DSQLITE_MAX_LIKE_PATTERN_LENGTH=50 \
|
||||||
-DSQLITE_MAX_SQL_LENGTH=100000 \
|
-DSQLITE_MAX_SQL_LENGTH=100000 \
|
||||||
-DSQLITE_MAX_TRIGGER_DEPTH=10 \
|
-DSQLITE_MAX_TRIGGER_DEPTH=10 \
|
||||||
-DSQLITE_MAX_VARIABLE_NUMBER=100 \
|
-DSQLITE_MAX_VARIABLE_NUMBER=100 \
|
||||||
-DSQLITE_MAX_VDBE_OP=25000 \
|
-DSQLITE_MAX_VDBE_OP=50000 \
|
||||||
-DSQLITE_OMIT_DEPRECATED \
|
-DSQLITE_OMIT_DEPRECATED \
|
||||||
-DSQLITE_OMIT_DESERIALIZE \
|
-DSQLITE_OMIT_DESERIALIZE \
|
||||||
-DSQLITE_OMIT_LOAD_EXTENSION \
|
-DSQLITE_OMIT_LOAD_EXTENSION \
|
||||||
|
10
src/ssb.db.c
10
src/ssb.db.c
@ -287,7 +287,7 @@ void tf_ssb_db_init(tf_ssb_t* ssb)
|
|||||||
tf_printf("Populating messages_refs...\n");
|
tf_printf("Populating messages_refs...\n");
|
||||||
_tf_ssb_db_exec(db,
|
_tf_ssb_db_exec(db,
|
||||||
"INSERT INTO messages_refs(message, ref) "
|
"INSERT INTO messages_refs(message, ref) "
|
||||||
"SELECT messages.id, j.value FROM messages, json_tree(messages.content) as j WHERE "
|
"SELECT messages.id, j.value FROM messages, json_tree(messages.content) AS j WHERE "
|
||||||
"j.value LIKE '&%.sha256' OR "
|
"j.value LIKE '&%.sha256' OR "
|
||||||
"j.value LIKE '%%%.sha256' OR "
|
"j.value LIKE '%%%.sha256' OR "
|
||||||
"j.value LIKE '@%.ed25519' "
|
"j.value LIKE '@%.ed25519' "
|
||||||
@ -300,7 +300,7 @@ void tf_ssb_db_init(tf_ssb_t* ssb)
|
|||||||
_tf_ssb_db_exec(db,
|
_tf_ssb_db_exec(db,
|
||||||
"CREATE TRIGGER IF NOT EXISTS messages_ai_refs AFTER INSERT ON messages BEGIN "
|
"CREATE TRIGGER IF NOT EXISTS messages_ai_refs AFTER INSERT ON messages BEGIN "
|
||||||
"INSERT INTO messages_refs(message, ref) "
|
"INSERT INTO messages_refs(message, ref) "
|
||||||
"SELECT DISTINCT new.id, j.value FROM json_tree(new.content) as j WHERE "
|
"SELECT DISTINCT new.id, j.value FROM json_tree(new.content) AS j WHERE "
|
||||||
"j.value LIKE '&%.sha256' OR "
|
"j.value LIKE '&%.sha256' OR "
|
||||||
"j.value LIKE '%%%.sha256' OR "
|
"j.value LIKE '%%%.sha256' OR "
|
||||||
"j.value LIKE '@%.ed25519' "
|
"j.value LIKE '@%.ed25519' "
|
||||||
@ -325,7 +325,7 @@ void tf_ssb_db_init(tf_ssb_t* ssb)
|
|||||||
tf_printf("Populating blobs_refs...\n");
|
tf_printf("Populating blobs_refs...\n");
|
||||||
_tf_ssb_db_exec(db,
|
_tf_ssb_db_exec(db,
|
||||||
"INSERT INTO blobs_refs(blob, ref) "
|
"INSERT INTO blobs_refs(blob, ref) "
|
||||||
"SELECT blobs.id, j.value FROM blobs, json_tree(blobs.content) as j WHERE "
|
"SELECT blobs.id, j.value FROM blobs, json_tree(blobs.content) AS j WHERE "
|
||||||
"json_valid(blobs.content) AND j.value LIKE '&%.sha256' "
|
"json_valid(blobs.content) AND j.value LIKE '&%.sha256' "
|
||||||
"ON CONFLICT DO NOTHING");
|
"ON CONFLICT DO NOTHING");
|
||||||
_tf_ssb_db_exec(db, "COMMIT TRANSACTION");
|
_tf_ssb_db_exec(db, "COMMIT TRANSACTION");
|
||||||
@ -335,7 +335,7 @@ void tf_ssb_db_init(tf_ssb_t* ssb)
|
|||||||
_tf_ssb_db_exec(db,
|
_tf_ssb_db_exec(db,
|
||||||
"CREATE TRIGGER IF NOT EXISTS blobs_ai_refs AFTER INSERT ON blobs BEGIN "
|
"CREATE TRIGGER IF NOT EXISTS blobs_ai_refs AFTER INSERT ON blobs BEGIN "
|
||||||
"INSERT INTO blobs_refs(blob, ref) "
|
"INSERT INTO blobs_refs(blob, ref) "
|
||||||
"SELECT DISTINCT new.id, j.value FROM json_tree(new.content) as j WHERE "
|
"SELECT DISTINCT new.id, j.value FROM json_tree(new.content) AS j WHERE "
|
||||||
"json_valid(new.content) AND j.value LIKE '&%.sha256' "
|
"json_valid(new.content) AND j.value LIKE '&%.sha256' "
|
||||||
"ON CONFLICT DO NOTHING; END");
|
"ON CONFLICT DO NOTHING; END");
|
||||||
_tf_ssb_db_exec(db, "DROP TRIGGER IF EXISTS blobs_ad_refs");
|
_tf_ssb_db_exec(db, "DROP TRIGGER IF EXISTS blobs_ad_refs");
|
||||||
@ -950,7 +950,7 @@ bool tf_ssb_db_blob_store(tf_ssb_t* ssb, const uint8_t* blob, size_t size, char*
|
|||||||
result = r == SQLITE_DONE;
|
result = r == SQLITE_DONE;
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
tf_printf("Blob store failed: %s.\n", sqlite3_errmsg(db));
|
tf_printf("Blob store failed (%s: %zd): %s / %s.\n", id, size, sqlite3_errstr(r), sqlite3_errmsg(db));
|
||||||
}
|
}
|
||||||
rows = sqlite3_changes(db);
|
rows = sqlite3_changes(db);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user