Ghee/ROADMAP.md
2023-09-18 23:54:41 -07:00

1.6 KiB

Ghee Roadmap

0.5

-[x] init: allow ins-like insertion from JSON -[x] create to create directory and then init -[x] Test predicates using default key names, e.g. key0<10 -[x] rm: recursive by default -[x] rm: when removing indexed xattrs, update the relevant indices -[x] set: recursive by default -[x] set: when setting indexed xattrs, update the relevant indices -[ ] Test cp_or_mv -[ ] Test ls

0.6

-[ ] init: create as a Btrfs subvolume when possible -[ ] ghee diff ./people: show how the ./people table has changed since last commit; using CoW snapshots -[ ] ghee commit ./people -m "message!": commit the ./people table in its current form with message "message!" -[ ] ghee restore ./people gf037d2c98: restore the ./people table to its state in commit gf037d2c98 -[ ] ghee log ./people: show commit messages for all commits in the ./people table. -[ ] init: allow comma-separated compound keys -[ ] Existence predicates, e.g. -w name matches any record for which name is set -[ ] Virtual attribute id and attributes id0 etc. -[ ] set: don't require -s/--set flag; take attr=value pairs directly -[ ] get: make output tabular as much as possible (get xattrs from all indices, put rest in 'other' column) -[ ] ls: show default primary keys when not explicitly specified

Future

  • Enforce f64 vs String types, don't let them be comparable
  • Integrate with Btrfs / Bcachefs / ZFS snapshots?
  • Benchmarks
  • Optimize more queries
  • Multi-index query optimization
  • Make sub-directories tables as well, on their portion of the key space?