gluesql
gluesql copied to clipboard
Enhance SledStorage transaction isolation level to SERIALIZABLE
Current transaction isolation level of SledStorage is SNAPSHOT ISOLATION or REPEATABLE READ.
It is not safe from phantom read concurrent conflict cases.
SledStorage only allows a single writer at the time and it is a bit better than SQLite3 in the matter of concurrency.
SQLite3 provides SERIALIZABLE level, so users don't need to care about concurrency conflicts.
Though it is required to sacrifice performance little bit more than the current, I think that we, SledStorage also needs to support SERIALIZABLE isolation level.
Transaction in SQL database is quite high level feature, so it is also supposed to provide users don't need to care about concurrency issues, I think.