From 49e70ff5320d0f6ac89d3743f8fdd257270c23b4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 2 Nov 2020 09:22:33 +0530 Subject: [PATCH] Speed up annotations_count_for_book No need to use a transaction for a single readonly operation --- src/calibre/db/backend.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/calibre/db/backend.py b/src/calibre/db/backend.py index 2b433b331a..eed2f105bc 100644 --- a/src/calibre/db/backend.py +++ b/src/calibre/db/backend.py @@ -1949,10 +1949,9 @@ class DB(object): return changed def annotation_count_for_book(self, book_id): - with self.conn: - c = self.execute('SELECT count(id) FROM annotations WHERE book=?', (book_id,)) - r = c.fetchone()[0] - return r + for (count,) in self.execute('SELECT count(id) FROM annotations WHERE book=?', (book_id,)): + return count + return 0 def conversion_options(self, book_id, fmt): for (data,) in self.conn.get('SELECT data FROM conversion_options WHERE book=? AND format=?', (book_id, fmt.upper())):