This commit is contained in:
Adam Porter 2021-06-21 06:30:27 -05:00
parent c45a3f18c0
commit 8be6399458

159
NOTES.org
View file

@ -21,8 +21,7 @@
#+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M" #+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M"
| P | M | Keyword | Heading | | P | M | Keyword | Heading |
|---+-----+---------+---------------------------------------------------------| |---+-----+---------+------------------------------------------------|
| A | 0.6 | PROJECT | [[Timestamp predicates using relative dates break caching][Timestamp predicates using relative dates break caching]] |
| A | 0.6 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | A | 0.6 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] |
| | | NEXT | [[Check Org 9.4 source code for second argument][Check Org 9.4 source code for second argument]] | | | | NEXT | [[Check Org 9.4 source code for second argument][Check Org 9.4 source code for second argument]] |
#+END: #+END:
@ -32,7 +31,6 @@
#+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 9 #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 9
| M | P | Todo | Heading | | M | P | Todo | Heading |
|--------+---+---------+--------------------------------------------------------------------------------| |--------+---+---------+--------------------------------------------------------------------------------|
| 0.6 | A | PROJECT | [[Timestamp predicates using relative dates break caching][Timestamp predicates using relative dates break caching]] |
| 0.6 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | 0.6 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] |
| 0.6 | A | PROJECT | [[Reverse sorting][Reverse sorting]] | | 0.6 | A | PROJECT | [[Reverse sorting][Reverse sorting]] |
| future | B | TODO | [[Sorter for property values][Sorter for property values]] | | future | B | TODO | [[Sorter for property values][Sorter for property values]] |
@ -41,6 +39,7 @@
| 0.6 | B | TODO | [[Use string queries in view headers when possible][Use string queries in view headers when possible]] | | 0.6 | B | TODO | [[Use string queries in view headers when possible][Use string queries in view headers when possible]] |
| 0.7 | B | PROJECT | [[Optimized, date-specific timestamp regexps][Optimized, date-specific timestamp regexps]] | | 0.7 | B | PROJECT | [[Optimized, date-specific timestamp regexps][Optimized, date-specific timestamp regexps]] |
| 0.7 | B | PROJECT | [[Group tag support][Group tag support]] | | 0.7 | B | PROJECT | [[Group tag support][Group tag support]] |
| future | B | PROJECT | [[Recursive queries][Recursive queries]] |
#+END: #+END:
** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]]) ** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]])
@ -63,8 +62,7 @@
#+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7
| P | M | Todo | Heading | | P | M | Todo | Heading |
|---+-----+---------+---------------------------------------------------------| |---+-----+---------+------------------------------------------------|
| A | 0.6 | PROJECT | [[Timestamp predicates using relative dates break caching][Timestamp predicates using relative dates break caching]] |
| A | 0.6 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | A | 0.6 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] |
| A | | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | | A | | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] |
| A | 0.6 | PROJECT | [[Reverse sorting][Reverse sorting]] | | A | 0.6 | PROJECT | [[Reverse sorting][Reverse sorting]] |
@ -75,14 +73,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 #+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 | | M | P | Heading |
|--------+---+---------------------------------------------------------| |--------+---+-----------------------------------------|
| 0.6 | A | [[Timestamp predicates using relative dates break caching][Timestamp predicates using relative dates break caching]] |
| | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | | | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] |
| 0.6 | A | [[Reverse sorting][Reverse sorting]] | | 0.6 | A | [[Reverse sorting][Reverse sorting]] |
| | A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | | | A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] |
| | B | [[Outline path predicate][Outline path predicate]] | | | B | [[Outline path predicate][Outline path predicate]] |
| | B | [[Document the sorting functions][Document the sorting functions]] | | | B | [[Document the sorting functions][Document the sorting functions]] |
| future | B | [[Recursive queries][Recursive queries]] | | future | B | [[Recursive queries][Recursive queries]] |
| future | B | [[Timeline view][Timeline view]] |
#+END: #+END:
* [#A] Tasks * [#A] Tasks
@ -110,7 +108,6 @@
- [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]]
- [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#alternative-parsing-libraries][Alternative parsing libraries]]
- [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]]
- [[#timestamp-predicates-using-relative-dates-break-caching][Timestamp predicates using relative dates break caching]]
- [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] - [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]]
- [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]]
- [[#reverse-sorting][Reverse sorting]] - [[#reverse-sorting][Reverse sorting]]
@ -130,6 +127,7 @@
- [[#normalize-queries][Normalize queries]] - [[#normalize-queries][Normalize queries]]
- [[#update-view-screenshots][Update view screenshots]] - [[#update-view-screenshots][Update view screenshots]]
- [[#test-caching][Test caching]] - [[#test-caching][Test caching]]
- [[#timestamp-predicates-using-relative-dates-break-caching][Timestamp predicates using relative dates break caching]]
- [[#link-target-doesnt-work][~(link :target)~ doesn't work]] - [[#link-target-doesnt-work][~(link :target)~ doesn't work]]
- [[#link-regexp-p-doesnt-work][~(link :regexp-p)~ doesn't work]] - [[#link-regexp-p-doesnt-work][~(link :regexp-p)~ doesn't work]]
- [[#fix-custom-sorter-breaks-cached-results][Fix: Custom sorter breaks cached results]] - [[#fix-custom-sorter-breaks-cached-results][Fix: Custom sorter breaks cached results]]
@ -358,74 +356,6 @@ However, there might still be a useful idea here somewhere...
When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly.
** PROJECT [#A] Timestamp predicates using relative dates break caching :bug:
:PROPERTIES:
:milestone: 0.6
:branch: wip/fix-223
:issue-link: [[https://github.com/alphapapa/org-ql/issues/223][Cache is not invalidated for relative date/time queries · Issue #223 · alphapapa/org-ql · GitHub]]
:END:
Could fix this in a 0.5.3 release, but I think too much code changes are involved for a bugfix release.
*** DONE Move from-to-on argument processing to query normalizers
**** DONE Update defpred docs
+ [X] Mention that normalizers are run until they return the same result; need to guard against infinite loops.
- [X] Update docstring
- [X] Update readme
- [X] defpred tutorial
**** DONE Remove old ~--from-to-on~ macro completely
**** DONE closed
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE clocked
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE ts
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE planning
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE deadline
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE scheduled
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
** PROJECT [#A] Compatibility with Org 9.4 custom link changes :bug: ** PROJECT [#A] Compatibility with Org 9.4 custom link changes :bug:
:PROPERTIES: :PROPERTIES:
:milestone: 0.6 :milestone: 0.6
@ -2164,6 +2094,78 @@ e.g. doesn't currently show the =View= header.
See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it.
** DONE [#A] Timestamp predicates using relative dates break caching :bug:
:PROPERTIES:
:milestone: 0.6
:branch: wip/fix-223
:issue-link: [[https://github.com/alphapapa/org-ql/issues/223][Cache is not invalidated for relative date/time queries · Issue #223 · alphapapa/org-ql · GitHub]]
:END:
Could fix this in a 0.5.3 release, but I think too much code changes are involved for a bugfix release.
*** DONE Fix/commit checklists
+ Closing issue: 223
*** DONE Move from-to-on argument processing to query normalizers
**** DONE Update defpred docs
+ [X] Mention that normalizers are run until they return the same result; need to guard against infinite loops.
- [X] Update docstring
- [X] Update readme
- [X] defpred tutorial
**** DONE Remove old ~--from-to-on~ macro completely
**** DONE closed
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE clocked
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE ts
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE planning
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE deadline
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
**** DONE scheduled
+ [X] Use new ~--normalize-from-to-on~ macro
+ [X] Remove old ~--from-to-on~ from ~--query-predicate~
+ [X] Add tests
- [X] Query normalization
- [X] Results
** DONE [#A] [[https://github.com/alphapapa/org-ql/pull/220][~(link :target)~ doesn't work]] :bug: ** DONE [#A] [[https://github.com/alphapapa/org-ql/pull/220][~(link :target)~ doesn't work]] :bug:
:PROPERTIES: :PROPERTIES:
:milestone: 0.5.2 :milestone: 0.5.2
@ -3003,7 +3005,7 @@ When committing an additional feature:
+ [ ] Lint + [ ] Lint
+ [ ] Test + [ ] Test
- [ ] Locally - [ ] Locally
- [ ] On different Emacs versions with GitHub CI - [ ] On different Emacs versions with GitHub CI (very important)
+ [ ] Update docs + [ ] Update docs
+ [ ] Update changelog + [ ] Update changelog
- [ ] Mention closing issues (optionally) - [ ] Mention closing issues (optionally)
@ -3023,8 +3025,9 @@ When committing a fix:
+ [ ] Lint + [ ] Lint
+ [ ] Test + [ ] Test
- [ ] Locally - [ ] Locally
- [ ] On different Emacs versions with GitHub CI - [ ] On different Emacs versions with GitHub CI (very important)
+ [ ] Update changelog + [ ] Update changelog
- [ ] Mention changes
- [ ] Mention closing issues - [ ] Mention closing issues
+ [ ] Commit + [ ] Commit
- [ ] Mention closing issues in commit message - [ ] Mention closing issues in commit message