Skip to main content

max / makenotwork

2.4 KB · 67 lines History Blame Raw
1 {
2 "db_name": "PostgreSQL",
3 "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<chrono::Utc>\"\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",
4 "describe": {
5 "columns": [
6 {
7 "ordinal": 0,
8 "name": "thread_id",
9 "type_info": "Uuid"
10 },
11 {
12 "ordinal": 1,
13 "name": "thread_title",
14 "type_info": "Text"
15 },
16 {
17 "ordinal": 2,
18 "name": "community_name",
19 "type_info": "Text"
20 },
21 {
22 "ordinal": 3,
23 "name": "community_slug",
24 "type_info": "Text"
25 },
26 {
27 "ordinal": 4,
28 "name": "category_slug",
29 "type_info": "Text"
30 },
31 {
32 "ordinal": 5,
33 "name": "unread_count!",
34 "type_info": "Int8"
35 },
36 {
37 "ordinal": 6,
38 "name": "has_mention!",
39 "type_info": "Bool"
40 },
41 {
42 "ordinal": 7,
43 "name": "tracked_at: chrono::DateTime<chrono::Utc>",
44 "type_info": "Timestamptz"
45 }
46 ],
47 "parameters": {
48 "Left": [
49 "Uuid",
50 "Int8",
51 "Int8"
52 ]
53 },
54 "nullable": [
55 false,
56 false,
57 false,
58 false,
59 false,
60 null,
61 null,
62 false
63 ]
64 },
65 "hash": "78349b35320856cf18eb7e66393675af5a14063b83dc8366c801994b67cdc5a7"
66 }
67