{ "db_name": "PostgreSQL", "query": "SELECT tt.thread_id,\n t.title AS thread_title,\n co.name AS community_name,\n co.slug AS community_slug,\n cat.slug AS category_slug,\n (SELECT COUNT(*) FROM posts p\n WHERE p.thread_id = tt.thread_id\n AND p.removed_at IS NULL\n AND (lrp.created_at IS NULL OR p.created_at > lrp.created_at)\n ) AS \"unread_count!\",\n EXISTS (\n SELECT 1 FROM post_mentions pm\n JOIN posts p ON p.id = pm.post_id\n WHERE pm.mentioned_user_id = tt.user_id\n AND p.thread_id = tt.thread_id\n ) AS \"has_mention!\",\n tt.tracked_at AS \"tracked_at: chrono::DateTime\"\n FROM tracked_threads tt\n JOIN threads t ON t.id = tt.thread_id\n JOIN categories cat ON cat.id = t.category_id\n JOIN communities co ON co.id = cat.community_id\n LEFT JOIN posts lrp ON lrp.id = tt.last_read_post_id\n WHERE tt.user_id = $1 AND t.deleted_at IS NULL AND co.suspended_at IS NULL\n ORDER BY t.last_activity_at DESC\n LIMIT $2 OFFSET $3", "describe": { "columns": [ { "ordinal": 0, "name": "thread_id", "type_info": "Uuid" }, { "ordinal": 1, "name": "thread_title", "type_info": "Text" }, { "ordinal": 2, "name": "community_name", "type_info": "Text" }, { "ordinal": 3, "name": "community_slug", "type_info": "Text" }, { "ordinal": 4, "name": "category_slug", "type_info": "Text" }, { "ordinal": 5, "name": "unread_count!", "type_info": "Int8" }, { "ordinal": 6, "name": "has_mention!", "type_info": "Bool" }, { "ordinal": 7, "name": "tracked_at: chrono::DateTime", "type_info": "Timestamptz" } ], "parameters": { "Left": [ "Uuid", "Int8", "Int8" ] }, "nullable": [ false, false, false, false, false, null, null, false ] }, "hash": "78349b35320856cf18eb7e66393675af5a14063b83dc8366c801994b67cdc5a7" }