1 Return-Path: <jani@nikula.org>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 9DC27431FAF
\r
6 for <notmuch@notmuchmail.org>; Fri, 3 Aug 2012 14:51:58 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5
\r
12 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id tgHJdAgnnTSI for <notmuch@notmuchmail.org>;
\r
16 Fri, 3 Aug 2012 14:51:58 -0700 (PDT)
\r
17 Received: from mail-lpp01m010-f53.google.com (mail-lpp01m010-f53.google.com
\r
18 [209.85.215.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
19 (No client certificate requested)
\r
20 by olra.theworths.org (Postfix) with ESMTPS id AA7E9431FAE
\r
21 for <notmuch@notmuchmail.org>; Fri, 3 Aug 2012 14:51:57 -0700 (PDT)
\r
22 Received: by lagu2 with SMTP id u2so681800lag.26
\r
23 for <notmuch@notmuchmail.org>; Fri, 03 Aug 2012 14:51:56 -0700 (PDT)
\r
24 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
\r
25 d=google.com; s=20120113;
\r
26 h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state;
\r
27 bh=HKPQnPfr1XNFoFW8Qgk92V1jXldce16ySol1O3IMbBA=;
\r
28 b=YyBW3Ej0BYfUXi+nbGImWW5KC8PgAU8ARCCtA03PDNOiF7eDJylsQi+1qf49+goyma
\r
29 XpoCq4l1v0PFalZSL3/iu+ZVrXiAQq+KNXvUk9e02ZjvTRZgxs1P59ojoSE/al0aVJ2f
\r
30 qJsL7NqLKSFJA+DcLjtKbc5LG6sVOzRSWawH+YvpeHFxeLfua+pGfzsZQblPJmwNU6My
\r
31 c8WK5xNjIuPqFcf1HLIhM5dLdS4rqatzTsGKadfXD6m5IUwWqTdW9vpkEH0m18KNF5zM
\r
32 6gsHEyVoRZPw9Ik+mTGsf7YGLhNMf4Gl1jQbIJdEpE8yJSTgs3iaSED0rcAleFzoq7H3
\r
34 Received: by 10.112.30.41 with SMTP id p9mr1269272lbh.26.1344030716048;
\r
35 Fri, 03 Aug 2012 14:51:56 -0700 (PDT)
\r
36 Received: from localhost (dsl-hkibrasgw4-fe51df00-27.dhcp.inet.fi.
\r
38 by mx.google.com with ESMTPS id lx11sm1277825lab.4.2012.08.03.14.51.53
\r
39 (version=SSLv3 cipher=OTHER); Fri, 03 Aug 2012 14:51:54 -0700 (PDT)
\r
40 From: Jani Nikula <jani@nikula.org>
\r
41 To: notmuch@notmuchmail.org
\r
42 Subject: [PATCH 0/7] notmuch search date:since..until query support
\r
43 Date: Sat, 4 Aug 2012 00:51:45 +0300
\r
44 Message-Id: <cover.1344028781.git.jani@nikula.org>
\r
45 X-Mailer: git-send-email 1.7.9.5
\r
47 ALoCoQnql+rK2iEk/v5/iMf+eVjd2uqQsxK8v/GMeC6mmsU85kx1kA5HzyOsI419XSHlXB1eJwmv
\r
48 X-BeenThere: notmuch@notmuchmail.org
\r
49 X-Mailman-Version: 2.1.13
\r
51 List-Id: "Use and development of the notmuch mail system."
\r
52 <notmuch.notmuchmail.org>
\r
53 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
54 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
55 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
56 List-Post: <mailto:notmuch@notmuchmail.org>
\r
57 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
58 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
59 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
60 X-List-Received-Date: Fri, 03 Aug 2012 21:51:58 -0000
\r
62 Hi all, this series adds a decent date range query support to the
\r
63 notmuch lib. For example:
\r
65 $ notmuch search date:2012-01-01..2012-02-01
\r
66 $ notmuch search date:10:00..13:00
\r
67 $ notmuch search date:monday..friday
\r
68 $ notmuch search date:2months5days..2weeks5hours
\r
69 $ notmuch search date:last-week..yesterday
\r
70 $ notmuch search date:today..
\r
71 $ notmuch search date:..today
\r
73 and so on. See the man page in patch 7 for further details. Or play with
\r
74 the test tool from patch 3 to see how the parser works (try -h for
\r
77 $ test/parse-time -d yesterday
\r
78 Fri Aug 03 00:00:00 +0300 2012
\r
80 The added tests are fairly limited, but things are in place for both
\r
81 testing the date parser directly (using the above tool) and through
\r
82 notmuch. I'm hoping these could be amended later.
\r
84 Finally, the git repo for the parser itself is at [1], with some
\r
85 background info in the README [2]. I'm not sure if I'll maintain the git
\r
86 repo if and when this gets merged to notmuch, but it contains the
\r
87 history since the last time I submitted this.
\r
92 [1] https://gitorious.org/parse-time-string
\r
93 [2] https://gitorious.org/parse-time-string/parse-time-string/blobs/master/README
\r
97 build: drop the -Wswitch-enum warning
\r
98 lib: add a date/time parser module
\r
99 test: add new test tool parse-time for date/time parser
\r
100 test: add smoke tests for the date/time parser module
\r
101 lib: add date range query support
\r
102 test: add tests for date:since..until range queries
\r
103 man: document the date:since..until range queries
\r
106 lib/Makefile.local | 2 +
\r
107 lib/database-private.h | 1 +
\r
108 lib/database.cc | 5 +
\r
109 lib/parse-time-string.c | 1384 +++++++++++++++++++++++++++++++++++++++
\r
110 lib/parse-time-string.h | 95 +++
\r
111 lib/parse-time-vrp.cc | 40 ++
\r
112 lib/parse-time-vrp.h | 19 +
\r
113 man/man7/notmuch-search-terms.7 | 147 ++++-
\r
114 test/Makefile.local | 9 +-
\r
116 test/notmuch-test | 2 +
\r
117 test/parse-time-string | 26 +
\r
118 test/parse-time.c | 145 ++++
\r
119 test/search-date | 21 +
\r
120 15 files changed, 1884 insertions(+), 16 deletions(-)
\r
121 create mode 100644 lib/parse-time-string.c
\r
122 create mode 100644 lib/parse-time-string.h
\r
123 create mode 100644 lib/parse-time-vrp.cc
\r
124 create mode 100644 lib/parse-time-vrp.h
\r
125 create mode 100755 test/parse-time-string
\r
126 create mode 100644 test/parse-time.c
\r
127 create mode 100755 test/search-date
\r