Skip to content

SQL Anywhere 0.3.1 β€” CRDT offline merge

Choose a tag to compare

@kwhorne kwhorne released this 02 Jul 17:10
· 12 commits to main since this release
f0fb5f3

SQL Anywhere 0.3.1 β€” experimental CRDT offline merge

This release packages the CRDT offline-merge work: conflict-free, multi-writer
offline sync via the vendored cr-sqlite extension β€” the other half of a
local-first stack alongside embedded replicas. Additive and opt-in.

Added

  • CRDT offline merge (experimental). Turn tables into conflict-free
    replicated relations with crsql_as_crr(...). Databases can be edited offline
    and merged deterministically by exchanging crsql_changes rows β€” verified end
    to end (two nodes converge; concurrent same-row edits resolve the same way on
    both sides).
  • Prebuilt extensions attached below for macOS Apple Silicon and Ubuntu
    Intel/ARM (crsqlite-v0.3.1-<target>.tar.gz). Or build it yourself with
    scripts/build-crsqlite.sh.
  • Rust API support β€” sqlanywhere/examples/crdt_sync.rs drives the whole
    merge through the sqlanywhere client; sqlanywhere/tests/crdt.rs asserts it
    in CI against a freshly built extension.

Docs

Notes

Not yet bundled inside sqld (load it as an extension). Static linking is
tracked on the roadmap.