This commit is contained in:
Adam Porter 2021-06-18 02:17:54 -05:00
parent 6b06b70f68
commit 0f64a47f9c

View file

@ -36,10 +36,10 @@
| 0.6 | B | TODO | [[Use string queries in view headers when possible][Use string queries in view headers when possible]] |
| 0.6 | B | PROJECT | [[Add a ~:with-time~ argument to timestamp predicates][Add a ~:with-time~ argument to timestamp predicates]] |
| 0.6 | B | PROJECT | [[Optimized, date-specific timestamp regexps][Optimized, date-specific timestamp regexps]] |
| 0.6 | B | PROJECT | [[Date-specific preambles for =ts= predicates][Date-specific preambles for =ts= predicates]] |
| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] |
| future | B | PROJECT | [[Recursive queries][Recursive queries]] |
| future | B | PROJECT | [[Timeline view][Timeline view]] |
| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] |
#+END:
** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]])
@ -72,14 +72,14 @@
#+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT" "UNDERWAY")))) :columns (((property "milestone") "M") (priority "P") heading) :sort (priority date) :take 7
| M | P | Heading |
|--------+---+-------------------------------------------|
|--------+---+----------------------------------------------------------|
| | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] |
| | A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] |
| 0.6 | B | [[Date-specific preambles for =ts= predicates][Date-specific preambles for =ts= predicates]] |
| | B | [[Outline path predicate][Outline path predicate]] |
| | B | [[Document the sorting functions][Document the sorting functions]] |
| future | B | [[Recursive queries][Recursive queries]] |
| future | B | [[Timeline view][Timeline view]] |
| | B | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] |
#+END:
* [#A] Tasks
@ -110,7 +110,6 @@
- [[#optimized-date-specific-timestamp-regexps][Optimized, date-specific timestamp regexps]]
- [[#multi-pass-query-normalization][Multi-pass query normalization]]
- [[#optimization-for-olp-predicate][Optimization for olp predicate]]
- [[#date-specific-preambles-for-ts-predicates][Date-specific preambles for ts predicates]]
- [[#outline-path-predicate][Outline path predicate]]
- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]]
- [[#group-tag-support][Group tag support]]
@ -504,7 +503,7 @@ CLOCK: [2021-06-17 Thu 22:12]--[2021-06-17 Thu 22:12] => 0:00
**** DONE Tests
** PROJECT [#B] Optimized, date-specific timestamp regexps
** PROJECT [#B] Optimized, date-specific timestamp regexps :enhancement:
:PROPERTIES:
:milestone: 0.6
:ID: fc8ccf6e-5311-4121-a0b7-58482dbd2e85
@ -512,7 +511,14 @@ CLOCK: [2021-06-17 Thu 22:12]--[2021-06-17 Thu 22:12] => 0:00
+ In branch =wip/ts-optimized-regexps=.
Rather than searching for generic timestamp regexps, we could build a regexp based on expected values in the timestamp.
[2020-11-28 Sat 19:12] For example, a regexp like this would make timestamp searches very fast:
#+BEGIN_SRC elisp
(rx "<" "2020" "-" (or "10-31" "11-01" "11-02") ">")
;;=> "<2020-\\(?:\\(?:1\\(?:0-31\\|1-0[12]\\)\\)\\)>"
#+END_SRC
It shouldn't be hard to generate a list of date strings that =rx-to-string= could optimize, and that would avoid parsing and testing many timestamps which wouldn't match when specific date ranges are given.
*** TODO Limit or optimize
@ -1164,20 +1170,6 @@ It will not match.
** PROJECT [#B] Date-specific preambles for =ts= predicates :enhancement:
:PROPERTIES:
:milestone: 0.6
:END:
[2020-11-28 Sat 19:12] For example, a regexp like this would make timestamp searches very fast:
#+BEGIN_SRC elisp
(rx "<" "2020" "-" (or "10-31" "11-01" "11-02") ">")
;;=> "<2020-\\(?:\\(?:1\\(?:0-31\\|1-0[12]\\)\\)\\)>"
#+END_SRC
It shouldn't be hard to generate a list of date strings that =rx-to-string= could optimize, and that would avoid parsing and testing many timestamps which wouldn't match when specific date ranges are given.
** PROJECT [#B] Outline path predicate
[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: