Simplify cleanupEntries' query
- `NOT (hash=ANY(%4))` can be expressed as `hash NOT IN $4` - There is no need for a subquery operating on the same table, moving the conditions out is equivalent.
This commit is contained in:
parent
ccd3955bf4
commit
26d189917e
1 changed files with 4 additions and 4 deletions
|
@ -251,11 +251,11 @@ func (s *Storage) cleanupEntries(feedID int64, entryHashes []string) error {
|
||||||
DELETE FROM
|
DELETE FROM
|
||||||
entries
|
entries
|
||||||
WHERE
|
WHERE
|
||||||
feed_id=$1
|
feed_id=$1 AND
|
||||||
AND
|
status=$3 AND
|
||||||
id IN (SELECT id FROM entries WHERE feed_id=$2 AND status=$3 AND NOT (hash=ANY($4)))
|
NOT (hash=ANY($4))
|
||||||
`
|
`
|
||||||
if _, err := s.db.Exec(query, feedID, feedID, model.EntryStatusRemoved, pq.Array(entryHashes)); err != nil {
|
if _, err := s.db.Exec(query, feedID, model.EntryStatusRemoved, pq.Array(entryHashes)); err != nil {
|
||||||
return fmt.Errorf(`store: unable to cleanup entries: %v`, err)
|
return fmt.Errorf(`store: unable to cleanup entries: %v`, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue