syncbase: Change id encoding in store keys to preserve sorting.

Changed id encoding in store keys from the wire encoding
encodeName("<blessing>,<name>") to "<blessing>\0<name>\0".
The new encoding preserves the natural sort order (lexicographically,
first by blessing, then by name).

The new encoding removes the need for sorting when scanning databases,
collections, and rows.

Syncgroups use a hash in keys instead; changed syncgroup sort routine
to sort by blessing first instead of name first, added test to confirm.

MultiPart: 2/3
Change-Id: Ia50ec50b8629e924f827af47e04cc6e7e4c1f1db
11 files changed
tree: afa8a2e7e811c393094acd097fd3d5bed85e9b30
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. LICENSE
  13. PATENTS
  14. README.md
  15. VERSION
  16. envvar.go
  17. envvar_test.go
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.