diff --git a/src/ssb.db.c b/src/ssb.db.c index 332218e3..9456d22c 100644 --- a/src/ssb.db.c +++ b/src/ssb.db.c @@ -233,28 +233,13 @@ void tf_ssb_db_init(tf_ssb_t* ssb) _tf_ssb_db_exec(db, "DROP VIEW IF EXISTS blob_wants_view"); _tf_ssb_db_exec(db, "CREATE VIEW IF NOT EXISTS blob_wants_view (id, timestamp) AS " - " WITH wanted AS ( " - " SELECT messages_refs.ref AS id, messages.timestamp AS timestamp " - " FROM messages_refs " - " JOIN messages ON messages.id = messages_refs.message " - " UNION " - " SELECT image as id, unixepoch() AS timestamp " - " FROM (" - " SELECT " - " messages.author, " - " RANK() OVER (PARTITION BY messages.author ORDER BY messages.sequence DESC) AS author_rank, " - " COALESCE(messages.content ->> '$.image.link', messages.content ->> 'image') AS image " - " FROM messages " - " WHERE " - " json_extract(messages.content, '$.type') = 'about' AND " - " content ->> 'about' = messages.author AND image IS NOT NULL " - " ) WHERE author_rank = 1 " - " ) " - " SELECT wanted.id, wanted.timestamp FROM wanted " - " LEFT OUTER JOIN blobs ON wanted.id = blobs.id " + " SELECT messages_refs.ref AS id, messages.timestamp AS timestamp " + " FROM messages_refs " + " JOIN messages ON messages.id = messages_refs.message " + " LEFT OUTER JOIN blobs ON messages_refs.ref = blobs.id " " WHERE blobs.id IS NULL " - " AND LENGTH(wanted.id) = 52 " - " AND wanted.id LIKE '&%.sha256'"); + " AND LENGTH(messages_refs.ref) = 52 " + " AND messages_refs.ref LIKE '&%.sha256'"); bool need_add_flags = true; bool need_convert_timestamp_to_real = false;