EXECUTE'CREATE TEMP TABLE IF NOT EXISTS t_item ON COMMIT DROP AS '
||'WITH RECURSIVE base AS ( '
||' (SELECT "Item".*, 1 as level, ROW_NUMBER() OVER () as rn, '
||' GREATEST(g.tf_hot_score, l.tf_hot_score) AS personal_hot_score, '
||' GREATEST(g.tf_top_score, l.tf_top_score) AS personal_top_score '
||' FROM "Item" '
||' LEFT JOIN zap_rank_personal_view g ON g."viewerId" = $2 AND g.id = "Item".id '
||' LEFT JOIN zap_rank_personal_view l ON l."viewerId" = $3 AND l.id = g.id '
||' WHERE "Item"."parentId" = $1 '
||_order_by||''
||' LIMIT $4 '
||' OFFSET $5) '
||' UNION ALL '
||' (SELECT "Item".*, b.level + 1, ROW_NUMBER() OVER (PARTITION BY "Item"."parentId" '||_order_by||') as rn, '
||' GREATEST(g.tf_hot_score, l.tf_hot_score) AS personal_hot_score, '
||' GREATEST(g.tf_top_score, l.tf_top_score) AS personal_top_score '
||' FROM "Item" '
||' JOIN base b ON "Item"."parentId" = b.id '
||' LEFT JOIN zap_rank_personal_view g ON g."viewerId" = $2 AND g.id = "Item".id '
||' LEFT JOIN zap_rank_personal_view l ON l."viewerId" = $3 AND l.id = g.id '
||' WHERE b.level < $7 AND (b.level = 1 OR b.rn <= $6)) '
||') '
||'SELECT "Item".*, '
||' "Item".created_at at time zone ''UTC'' AS "createdAt", '
||' "Item".updated_at at time zone ''UTC'' AS "updatedAt", '
||' "Item"."invoicePaidAt" at time zone ''UTC'' AS "invoicePaidAtUTC", '
||' to_jsonb(users.*) || jsonb_build_object(''meMute'', "Mute"."mutedId" IS NOT NULL) AS user, '
||' COALESCE("ItemAct"."meMsats", 0) AS "meMsats", '
||' COALESCE("ItemAct"."mePendingMsats", 0) as "mePendingMsats", '
||' COALESCE("ItemAct"."meDontLikeMsats", 0) AS "meDontLikeMsats", '
||' COALESCE("ItemAct"."meMcredits", 0) AS "meMcredits", '
||' COALESCE("ItemAct"."mePendingMcredits", 0) as "mePendingMcredits", '
||' "Bookmark"."itemId" IS NOT NULL AS "meBookmark", '
||' "ThreadSubscription"."itemId" IS NOT NULL AS "meSubscription" '
||'FROM base "Item" '
||'JOIN users ON users.id = "Item"."userId" '
||' LEFT JOIN "Mute" ON "Mute"."muterId" = $3 AND "Mute"."mutedId" = "Item"."userId" '
||' LEFT JOIN "Bookmark" ON "Bookmark"."userId" = $3 AND "Bookmark"."itemId" = "Item".id '
||' LEFT JOIN "ThreadSubscription" ON "ThreadSubscription"."userId" = $3 AND "ThreadSubscription"."itemId" = "Item".id '
||'LEFT JOIN LATERAL ( '
||' SELECT "itemId", '
||' sum("ItemAct".msats) FILTER (WHERE "invoiceActionState" IS DISTINCT FROM ''FAILED'' AND "InvoiceForward".id IS NOT NULL AND (act = ''FEE'' OR act = ''TIP'')) AS "meMsats", '
||' sum("ItemAct".msats) FILTER (WHERE "invoiceActionState" IS DISTINCT FROM ''FAILED'' AND "InvoiceForward".id IS NULL AND (act = ''FEE'' OR act = ''TIP'')) AS "meMcredits", '
||' sum("ItemAct".msats) FILTER (WHERE "invoiceActionState" IS NOT DISTINCT FROM ''PENDING'' AND "InvoiceForward".id IS NOT NULL AND (act = ''FEE'' OR act = ''TIP'')) AS "mePendingMsats", '
||' sum("ItemAct".msats) FILTER (WHERE "invoiceActionState" IS NOT DISTINCT FROM ''PENDING'' AND "InvoiceForward".id IS NULL AND (act = ''FEE'' OR act = ''TIP'')) AS "mePendingMcredits", '
||' sum("ItemAct".msats) FILTER (WHERE "invoiceActionState" IS DISTINCT FROM ''FAILED'' AND act = ''DONT_LIKE_THIS'') AS "meDontLikeMsats" '
||' FROM "ItemAct" '
||' LEFT JOIN "Invoice" ON "Invoice".id = "ItemAct"."invoiceId" '
||' LEFT JOIN "InvoiceForward" ON "InvoiceForward"."invoiceId" = "Invoice"."id" '