Skip to content

Questions (re. interop with indexed.el) #29

Open
@meedstrom

Description

@meedstrom

Hi! I recently wrote the library https://github.com/meedstrom/indexed. Afterwards, I began considering how to design an all-new DB, and glad to see prior art here!

It seems great if I can make Indexed just copy the org-sql schemata, so we have interop.

Some questions if you don't mind:

  1. Do you scan a huge list of files at some point, or just incrementally for every file visited?
    1. How long does the scan take? I assume it takes a while if the buffer was not already open, because org-ml relies on org-element-parse-buffer and therefore org-mode itself, but I could be wrong and you managed to optimize it.
  2. What do you do with properties? How would a query look, to e.g. find an entry that has property :CREATED: greater than [2020-12-31 Wed 15:00]?
    1. I'm wondering if you create a new table automatically for every unique property found; that's the idea I was going to go with.
    2. Also I was thinking of handling multivalued properties by splitting them according to some customizable "property-splitters-alist", where the default splitter just does it the same way as org-entry-get-multivalued-property. There exist other properties that must be split in a different way. ROAM_ALIASES is split with split-string-and-unquote; and ROAM_REFS is even more complicated - I have a function for that called indexed-roam-split-refs-field.
  3. You do not (yet) record the "zeroth-level" entry, correct? (I.e. content before first heading)
    1. Would you store it in the exact same way as other entries, or do you think it makes more sense to have a separate table?
  4. Have you considered storing the entire text contents of each entry and file, instead of a MD5 hash of it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions