Skip to content

Latest commit

 

History

History
39 lines (38 loc) · 1.95 KB

TODO.md

File metadata and controls

39 lines (38 loc) · 1.95 KB

TODO:

  • API v1 done. In-memory implementation
    • Get
    • List
    • Set
    • Delete
    • History API?
  • XTDB, Robinhood example tests pass
  • Split out in-memory implementation
  • Thread safe writes
    • Show issue with race detector
    • Actually run race detector in build
  • SQL backed implementation
    • Get
    • List
    • Set
    • Delete
    • History API?
    • SQL querying
    • support composite PKs, non-string PKs
  • Exported DB test harness
  • Exported ReadOpt and WriteOpt handling. Separate provided inputs from resulting options for logging + SQL queries.
  • ReadOpt's for History
  • bitempur-ize existing SQL table
  • Visualizations. Interactive? see bitempura-viz
  • Performance/memory usage benchmarking
    • Profiling

Candidates

  • Write about new intuition about mutations + the 2D time graph
    • Valid time management as a custom "version rule"?
    • "Domain time"?
    • Explore geographical map idea. 2D of data + transaction time => 3 dimensions?
  • Separate "db" and "storage" models? first pass was blending XTDB APIs with Snodgrass style records and things are getting muddled. Storage layer will inform choices for querying ability at DB layer.
    • Should data read and write APIs return tx time and valid time context at all?
  • Consider Datomic accumulate and retract event style. Immutable storage layer?
  • Better test DB than sqlite? use cockroachdb/copyist?
    • directly control a test db's notion of "current timestamp"? the requirement for deleted_at leads to totally different trigger implementation on UPDATE event instead of DELETE event
  • Run CI tests with the output-history option on and enforcing no diffs?