So far I've gotten the triggers all wrong.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4009 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
parent
b8fa59d3ec
commit
de398786be
14
src/ssb.db.c
14
src/ssb.db.c
@ -142,12 +142,6 @@ void tf_ssb_db_init(tf_ssb_t* ssb)
|
|||||||
" ref TEXT, "
|
" ref TEXT, "
|
||||||
" UNIQUE(message, ref)"
|
" UNIQUE(message, ref)"
|
||||||
")");
|
")");
|
||||||
_tf_ssb_db_exec(db, "CREATE TRIGGER IF NOT EXISTS messages_ai_refs AFTER INSERT ON messages BEGIN "
|
|
||||||
"INSERT INTO messages_refs(message, ref) "
|
|
||||||
"SELECT new.id, j.value FROM json_each(new.content) as j WHERE "
|
|
||||||
"j.value LIKE '&%.sha256' OR "
|
|
||||||
"j.value LIKE '%%%.sha256' OR "
|
|
||||||
"j.value LIKE '@%.ed25519'; END");
|
|
||||||
printf("Populating messages_refs...\n");
|
printf("Populating messages_refs...\n");
|
||||||
_tf_ssb_db_exec(db, "INSERT INTO messages_refs(message, ref) "
|
_tf_ssb_db_exec(db, "INSERT INTO messages_refs(message, ref) "
|
||||||
"SELECT messages.id, j.value FROM messages, json_each(messages.content) as j WHERE "
|
"SELECT messages.id, j.value FROM messages, json_each(messages.content) as j WHERE "
|
||||||
@ -158,6 +152,14 @@ void tf_ssb_db_init(tf_ssb_t* ssb)
|
|||||||
printf("Done.\n");
|
printf("Done.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_tf_ssb_db_exec(db, "DROP TRIGGER IF EXISTS messages_ai_refs");
|
||||||
|
_tf_ssb_db_exec(db, "CREATE TRIGGER IF NOT EXISTS messages_ai_refs AFTER INSERT ON messages BEGIN "
|
||||||
|
"INSERT INTO messages_refs(message, ref) "
|
||||||
|
"SELECT DISTINCT new.id, j.value FROM json_each(new.content) as j WHERE "
|
||||||
|
"j.value LIKE '&%.sha256' OR "
|
||||||
|
"j.value LIKE '%%%.sha256' OR "
|
||||||
|
"j.value LIKE '@%.ed25519' "
|
||||||
|
"ON CONFLICT DO NOTHING; END");
|
||||||
_tf_ssb_db_exec(db, "DROP TRIGGER IF EXISTS messages_ad_refs");
|
_tf_ssb_db_exec(db, "DROP TRIGGER IF EXISTS messages_ad_refs");
|
||||||
_tf_ssb_db_exec(db, "CREATE TRIGGER IF NOT EXISTS messages_ad_refs AFTER DELETE ON messages BEGIN DELETE FROM messages_refs WHERE messages_refs.message = old.id; END");
|
_tf_ssb_db_exec(db, "CREATE TRIGGER IF NOT EXISTS messages_ad_refs AFTER DELETE ON messages BEGIN DELETE FROM messages_refs WHERE messages_refs.message = old.id; END");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user