mirror of
https://github.com/simon987/sist2.git
synced 2025-04-19 10:16:42 +00:00
Fix #419
This commit is contained in:
parent
f345fc1a9a
commit
9698ea0c37
@ -516,32 +516,31 @@ database_iterator_t *database_create_document_iterator(database_t *db) {
|
|||||||
CRASH_IF_NOT_SQLITE_OK(
|
CRASH_IF_NOT_SQLITE_OK(
|
||||||
sqlite3_prepare_v2(
|
sqlite3_prepare_v2(
|
||||||
db->db,
|
db->db,
|
||||||
"WITH doc (j) AS (SELECT CASE"
|
"WITH doc (id, j) AS ("
|
||||||
" WHEN emb.embedding IS NULL THEN"
|
"SELECT"
|
||||||
|
" document.id,"
|
||||||
" json_set(document.json_data,"
|
" json_set(document.json_data,"
|
||||||
" '$._id', document.id,"
|
" '$._id', document.id,"
|
||||||
|
" '$.index', (SELECT id FROM descriptor),"
|
||||||
" '$.size', document.size,"
|
" '$.size', document.size,"
|
||||||
" '$.mtime', document.mtime,"
|
" '$.mtime', document.mtime,"
|
||||||
" '$.mime', mim.name,"
|
" '$.mime', mim.name,"
|
||||||
" '$.thumbnail', document.thumbnail_count,"
|
" '$.thumbnail', document.thumbnail_count,"
|
||||||
" '$.tag', json_group_array((SELECT tag FROM tag WHERE document.id = tag.id)))"
|
" '$.tag', json_group_array(t.tag))"
|
||||||
" ELSE"
|
|
||||||
" json_set(document.json_data,"
|
|
||||||
" '$._id', document.id,"
|
|
||||||
" '$.size', document.size,"
|
|
||||||
" '$.mtime', document.mtime,"
|
|
||||||
" '$.mime', mim.name,"
|
|
||||||
" '$.thumbnail', document.thumbnail_count, "
|
|
||||||
" '$.tag', json_group_array((SELECT tag FROM tag WHERE document.id = tag.id)),"
|
|
||||||
" '$.emb', json_group_object(m.path, json(emb_to_json(emb.embedding))),"
|
|
||||||
" '$.embedding', 1)"
|
|
||||||
" END"
|
|
||||||
" FROM document"
|
" FROM document"
|
||||||
" LEFT JOIN embedding emb ON document.id = emb.id"
|
|
||||||
" LEFT JOIN model m ON emb.model_id = m.id"
|
|
||||||
" LEFT JOIN mime mim ON mim.id = document.mime"
|
" LEFT JOIN mime mim ON mim.id = document.mime"
|
||||||
|
" LEFT JOIN tag t ON t.id = document.id"
|
||||||
" GROUP BY document.id)"
|
" GROUP BY document.id)"
|
||||||
" SELECT json_set(j, '$.index', (SELECT id FROM descriptor)) FROM doc",
|
"SELECT CASE"
|
||||||
|
" WHEN emb.embedding IS NULL THEN j"
|
||||||
|
" ELSE json_set(j,"
|
||||||
|
" '$.emb', json_group_object(m.path, json(emb_to_json(emb.embedding))),"
|
||||||
|
" '$.embedding', 1"
|
||||||
|
" ) END"
|
||||||
|
" FROM doc"
|
||||||
|
" LEFT JOIN embedding emb ON doc.id = emb.id"
|
||||||
|
" LEFT JOIN model m ON emb.model_id = m.id"
|
||||||
|
" GROUP BY doc.id",
|
||||||
-1, &stmt, NULL));
|
-1, &stmt, NULL));
|
||||||
|
|
||||||
database_iterator_t *iter = malloc(sizeof(database_iterator_t));
|
database_iterator_t *iter = malloc(sizeof(database_iterator_t));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user