remove the inner join with highlights table in the sql of update-label job
This commit is contained in:
@ -17,16 +17,15 @@ export const updateLabels = async (data: UpdateLabelsData) => {
|
||||
return authTrx(
|
||||
async (tx) =>
|
||||
tx.query(
|
||||
`WITH labels_agg AS (
|
||||
SELECT array_agg(DISTINCT l.name) AS names_agg
|
||||
FROM omnivore.labels l
|
||||
INNER JOIN omnivore.entity_labels el ON el.label_id = l.id
|
||||
LEFT JOIN omnivore.highlight h ON h.id = el.highlight_id
|
||||
WHERE el.library_item_id = $1 OR h.library_item_id = $1
|
||||
)
|
||||
UPDATE omnivore.library_item li
|
||||
SET label_names = COALESCE((SELECT names_agg FROM labels_agg), ARRAY[]::TEXT[])
|
||||
WHERE li.id = $1`,
|
||||
`UPDATE omnivore.library_item
|
||||
SET label_names = COALESCE((
|
||||
SELECT array_agg(DISTINCT l.name)
|
||||
FROM omnivore.labels l
|
||||
INNER JOIN omnivore.entity_labels el
|
||||
ON el.label_id = l.id
|
||||
AND el.library_item_id = $1
|
||||
), ARRAY[]::TEXT[])
|
||||
WHERE id = $1`,
|
||||
[data.libraryItemId]
|
||||
),
|
||||
undefined,
|
||||
@ -38,14 +37,13 @@ export const updateHighlight = async (data: UpdateHighlightData) => {
|
||||
return authTrx(
|
||||
async (tx) =>
|
||||
tx.query(
|
||||
`WITH highlight_agg AS (
|
||||
SELECT array_agg(COALESCE(annotation, '')) AS annotation_agg
|
||||
FROM omnivore.highlight
|
||||
WHERE library_item_id = $1
|
||||
)
|
||||
UPDATE omnivore.library_item
|
||||
SET highlight_annotations = COALESCE((SELECT annotation_agg FROM highlight_agg), ARRAY[]::TEXT[])
|
||||
WHERE id = $1`,
|
||||
`UPDATE omnivore.library_item
|
||||
SET highlight_annotations = COALESCE((
|
||||
SELECT array_agg(COALESCE(annotation, ''))
|
||||
FROM omnivore.highlight
|
||||
WHERE library_item_id = $1
|
||||
), ARRAY[]::TEXT[])
|
||||
WHERE id = $1`,
|
||||
[data.libraryItemId]
|
||||
),
|
||||
undefined,
|
||||
|
||||
Reference in New Issue
Block a user