Closed sivukhin closed 3 months ago
This PR can address issue https://github.com/tursodatabase/libsql/issues/1411
Transactions within in-memory database are "useless" because client always reset DB connection and recreate it after transaction from scratch which leads to blank state of the in-memory DB after each transaction.
This can be fixed with native SQLite support of connection parameters propagated through query param string: see https://sqlite.org/uri.html#recognized_query_parameters
So, problem can be resolved for such scenarios if file::memory:?cache=shared will be provided as connection URI.
file::memory:?cache=shared
cache
cache=shared|private
Context
This PR can address issue https://github.com/tursodatabase/libsql/issues/1411
Transactions within in-memory database are "useless" because client always reset DB connection and recreate it after transaction from scratch which leads to blank state of the in-memory DB after each transaction.
This can be fixed with native SQLite support of connection parameters propagated through query param string: see https://sqlite.org/uri.html#recognized_query_parameters
So, problem can be resolved for such scenarios if
file::memory:?cache=shared
will be provided as connection URI.Changes
cache
query parameter for in-memory mode in the config enrichment & validation procedure.cache=shared|private
value for the in-memory mode onlyTesting