Fork me on GitHub
#datascript
<
2016-05-27
>
fasiha01:05:40

I'm making a poor man's datsync myself so I know how it all works. So I have an in-browser datascript db and one on the backend, and the idea is for the browser dbs to send their :tx-data values of the transaction logs (i.e., what's returned by d/transact!) to the server to be committed to the server db, and then be relayed to all other clients. I noticed that the tx-data vector, e.g., #datascript/Datom [1 :person/name "Alice" 536870913 true]] from one db, when transacted into another db, preserves the txid (536870913) in the second db, meaning that ideally, eventually all the databases (clients & server) will be clones of each other. Would it be better to omit the txid when a vector of tx-data is replayed on another db?

fasiha01:05:57

Well, I guess I'm wondering if my scheme is too simple-minded in the face of network delays, dropping clients, etc.