fixing subscribe and child reply duplicates
This commit is contained in:
parent
e1f59763ea
commit
8ac570d403
@ -77,12 +77,9 @@ export default {
|
|||||||
WHERE p."userId" = $1 AND "Item"."userId" <> $1 AND "Item".created_at <= $2
|
WHERE p."userId" = $1 AND "Item"."userId" <> $1 AND "Item".created_at <= $2
|
||||||
${await filterClause(me, models)}
|
${await filterClause(me, models)}
|
||||||
ORDER BY "sortTime" DESC
|
ORDER BY "sortTime" DESC
|
||||||
LIMIT ${LIMIT}+$3)`
|
LIMIT ${LIMIT}+$3)
|
||||||
)
|
UNION DISTINCT
|
||||||
|
(SELECT DISTINCT "Item".id::TEXT, "Item".created_at AS "sortTime", NULL::BIGINT as "earnedSats",
|
||||||
// break out thread subscription to decrease the search space of the already expensive reply query
|
|
||||||
queries.push(
|
|
||||||
`(SELECT DISTINCT "Item".id::TEXT, "Item".created_at AS "sortTime", NULL::BIGINT as "earnedSats",
|
|
||||||
'Reply' AS type
|
'Reply' AS type
|
||||||
FROM "ThreadSubscription"
|
FROM "ThreadSubscription"
|
||||||
JOIN "Item" p ON "ThreadSubscription"."itemId" = p.id
|
JOIN "Item" p ON "ThreadSubscription"."itemId" = p.id
|
||||||
@ -95,6 +92,23 @@ export default {
|
|||||||
LIMIT ${LIMIT}+$3)`
|
LIMIT ${LIMIT}+$3)`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (meFull.noteMentions) {
|
||||||
|
queries.push(
|
||||||
|
`(SELECT "Item".id::TEXT, "Mention".created_at AS "sortTime", NULL as "earnedSats",
|
||||||
|
'Mention' AS type
|
||||||
|
FROM "Mention"
|
||||||
|
JOIN "Item" ON "Mention"."itemId" = "Item".id
|
||||||
|
LEFT JOIN "Item" p ON "Item"."parentId" = p.id
|
||||||
|
WHERE "Mention"."userId" = $1
|
||||||
|
AND "Mention".created_at <= $2
|
||||||
|
AND "Item"."userId" <> $1
|
||||||
|
AND (p."userId" IS NULL OR p."userId" <> $1)
|
||||||
|
${await filterClause(me, models)}
|
||||||
|
ORDER BY "sortTime" DESC
|
||||||
|
LIMIT ${LIMIT}+$3)`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
queries.push(
|
queries.push(
|
||||||
`(SELECT "Item".id::text, "Item"."statusUpdatedAt" AS "sortTime", NULL as "earnedSats",
|
`(SELECT "Item".id::text, "Item"."statusUpdatedAt" AS "sortTime", NULL as "earnedSats",
|
||||||
'JobChanged' AS type
|
'JobChanged' AS type
|
||||||
@ -122,23 +136,6 @@ export default {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (meFull.noteMentions) {
|
|
||||||
queries.push(
|
|
||||||
`(SELECT "Item".id::TEXT, "Mention".created_at AS "sortTime", NULL as "earnedSats",
|
|
||||||
'Mention' AS type
|
|
||||||
FROM "Mention"
|
|
||||||
JOIN "Item" ON "Mention"."itemId" = "Item".id
|
|
||||||
LEFT JOIN "Item" p ON "Item"."parentId" = p.id
|
|
||||||
WHERE "Mention"."userId" = $1
|
|
||||||
AND "Mention".created_at <= $2
|
|
||||||
AND "Item"."userId" <> $1
|
|
||||||
AND (p."userId" IS NULL OR p."userId" <> $1)
|
|
||||||
${await filterClause(me, models)}
|
|
||||||
ORDER BY "sortTime" DESC
|
|
||||||
LIMIT ${LIMIT}+$3)`
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (meFull.noteDeposits) {
|
if (meFull.noteDeposits) {
|
||||||
queries.push(
|
queries.push(
|
||||||
`(SELECT "Invoice".id::text, "Invoice"."confirmedAt" AS "sortTime", FLOOR("msatsReceived" / 1000) as "earnedSats",
|
`(SELECT "Invoice".id::text, "Invoice"."confirmedAt" AS "sortTime", FLOOR("msatsReceived" / 1000) as "earnedSats",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user