Skip to content

Commit 01a3629

Browse files
committed
Dev notes for #327, #330, and #325.
1 parent 89278fb commit 01a3629

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

docs/dev.rst

+31
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,26 @@ Detailed requirements and API discussion: :issue:`168#issuecomment-642002049`.
339339

340340
Minimal work needed to support alternate storages: :issue:`168#issuecomment-1383127564`.
341341

342+
Storage internal API documented in version 3.10 (November 2023) in :issue:`325`.
343+
344+
345+
Database optimization
346+
~~~~~~~~~~~~~~~~~~~~~
347+
348+
Some general guidance on schema/index design: :issue:`327#issuecomment-1859147186`.
349+
350+
Speeding up ``get_entries(sort='recent')``:
351+
352+
* first attempt at adding indexes: :issue:`134`
353+
* using a computed column (``recent_sort``) didn't change things very much: :issue:`279`
354+
* an index on ``recent_sort`` alone is not enough for pagination,
355+
the index needs to match 1:1 the WHERE clause: :issue:`330`.
356+
357+
Speeding up ``get_entry_counts(feed=...)``:
358+
359+
* having an index on entries(feed) yielded a 4x improvement: :issue:`251`
360+
* even better, we should cache commonly-used counts: :issue:`306#issuecomment-1694655504`
361+
342362

343363
Parser
344364
~~~~~~
@@ -522,12 +542,17 @@ and why I want more use-cases before implementing them (basically, YAGNI):
522542

523543
:issue:`253` discusses using entry tags to implement the current entry flags
524544
(read, important); tl;dr: it's not worth adding entry tags just for this.
545+
:issue:`327` discusses using entry tags for ``has_enclosures``; tl;dr:
546+
it wouldn't save a lot of code, it would be only *a bit* slower,
547+
and it reconfirms that read and important are integral to the data model,
548+
so we still want them as regular columns.
525549

526550
After closing :issue:`228` with `wontfix` in late 2021,
527551
in early 2022 (following the :issue:`266` tag/metadata unification)
528552
I implemented entry and global tags in :issue:`272`;
529553
there's a list of known use cases in the issue description.
530554

555+
531556
Resource tags
532557
^^^^^^^^^^^^^
533558

@@ -629,6 +654,12 @@ Using a single Reader objects from multiple threads
629654

630655
Some thoughts on why it's difficult to do: :issue:`206#issuecomment-751383418`.
631656

657+
Requirements and use cases: :issue:`206#issuecomment-1179739301`.
658+
659+
When/how to run ``pragma optimize``: :issue:`206#issuecomment-1183660880`.
660+
661+
Full support added in version 2.16 (July 2022).
662+
632663

633664
Plugins
634665
~~~~~~~

0 commit comments

Comments
 (0)