If I have a table with a string primary key and I insert a row in one node with ID "hello" and do the same thing (but with different column data) on another node, what happens?
If I have a table with a string primary key and I insert a row in one node with ID "hello" and do the same thing (but with different column data) on another node, what happens?
"the last writer will always win. This means there is NO serializability guarantee of a transaction spanning multiple tables. This is a design choice, in order to avoid any sort of global locking, and performance."
So it sounds like in your example, whichever node writes last with a given primary key will be the data you'll end up with.
Within a single table they have tx serializability, just not with multiple tables
A great point, but from the readme in the Marmot repo:
> It does not require any changes to your existing SQLite application logic for reading/writing.
I suspect you’re probably still right, but that’s not what the author claims.
The question remains - how does Marmot enforce a uniqueness constraint? If you don’t like the product example, fine, but it is easy to think of others. It would be unfortunate if marmot is incapable of supporting uniqueness.