Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLite support #422

Open
7 of 11 tasks
a-type opened this issue Oct 6, 2024 · 2 comments
Open
7 of 11 tasks

SQLite support #422

a-type opened this issue Oct 6, 2024 · 2 comments
Assignees

Comments

@a-type
Copy link
Owner

a-type commented Oct 6, 2024

Starting to look into React Native... or even just Electron-esque things.

Work required...

  • Refactor persistence layer into abstractions (still IDB only)
    • Refactor metadata persistence
    • Refactor Metadata class to use persistence layer
    • Refactor metadata migrations
    • Refactor queryable persistence
    • Refactor queries to utilize persistence layer
    • Refactor queryable migrations
  • Implement persistence abstractions in SQLite
    • Metadata
    • Document indexes
    • Files (with, I guess, local filestorage)
@a-type a-type self-assigned this Oct 6, 2024
@a-type
Copy link
Owner Author

a-type commented Oct 16, 2024

Mini-todo: refactor WIP to simplify persistence impl:

  • Make WIP change namespace during client init
  • Add "copy namespace to namespace" to persistence impls
  • Add "list all namespaces" to persistence impls
  • Rework WIP to be "copy default_ns to wip_ns, then open wip_ns"
  • Rework import to be "load data to temp_ns, then copy to default_ns"

@a-type
Copy link
Owner Author

a-type commented Oct 25, 2024

For SQLite import/WIP copy, procedure is roughly...

  • Open original namespace at version N
  • Open target namespace at version N (migrate to N if needed)
  • Copy database file from o->t
  • Migrate target namespace to version M (if M!=N)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant