| woof vlcn-io/cr-sqlite definitely built by someone who doesn't understand the fundamentals of the space > As of cr-sqlite 0.15, the CRDT for an existing row being update is this: (1) Biggest col_version wins col_version is definitely something, but it isn't a logical timestamp! -- https://github.com/superfly/corrosion/blob/main/doc/crdts.md > Crsqlite specifically uses a "lamport timestamp" which, if you squint at from a distance, could be most concisely boiled down to a monotonically increasing counter. lamport clocks can be boiled down to monotonically-increasing counters _per physical node in the system_, not per logical row/entity in the data model so if you want to do conflict resolution based on logical (lamport) clocks you need to evaluate/resolve concurrent modifications according to site-specific logical clocks and their histories -- not just raw integers which 100% vlcn.io does not do > destroyed comes before started and so started is "bigger" eep. good luck! |