aboutsummaryrefslogtreecommitdiffstats
path: root/worker/notmuch/lib/database.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/notmuch/lib/database.go')
-rw-r--r--worker/notmuch/lib/database.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/worker/notmuch/lib/database.go b/worker/notmuch/lib/database.go
index f6e49ae1..be30cbc0 100644
--- a/worker/notmuch/lib/database.go
+++ b/worker/notmuch/lib/database.go
@@ -170,7 +170,7 @@ func (db *DB) QueryCountMessages(q string) (MessageCount, error) {
return count, err
}
- unreadQuery, err := db.newQuery(fmt.Sprintf("(%v) and (tag:unread)", q))
+ unreadQuery, err := db.newQuery(AndQueries(q, "tag:unread"))
if err != nil {
return count, err
}
@@ -352,3 +352,19 @@ func (db *DB) makeThread(parent *types.Thread, msgs *notmuch.Messages, threadCon
}
return siblings
}
+
+func AndQueries(q1, q2 string) string {
+ if q1 == "" {
+ return q2
+ }
+ if q2 == "" {
+ return q1
+ }
+ if q1 == "*" {
+ return q2
+ }
+ if q2 == "*" {
+ return q1
+ }
+ return fmt.Sprintf("(%s) and (%s)", q1, q2)
+}