pocoproject / poco

The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
https://pocoproject.org
Other
8.05k stars 2.11k forks source link

Serializable Isolation level for SQLite Databases #4536

Closed ClaudeTO80 closed 1 week ago

ClaudeTO80 commented 2 months ago

Hi all.

I am working on a personal project using DB connection both to SQLite and PostgreSQL. Due to nature of some insert statements, serializable transactions are required.

As far as I understood by reading Poco source code, PostgreSQL session implementation handles all kinds of transactions, while SQLite session implementation handles only Read committed one. Moreover I read SQLite project documentation and it seems (if I didn't misunderstood) that SQLite handles serializable transactions if proper compile-time and run-time options are used.

I was wondering:

  1. if limitations to SQLite transactions in Poco library are due to historical or security reasons
  2. should it be possible handling all types of transactions in SQLite session implementation?

Thanks in advance. Best things.

aleks-f commented 1 month ago

As far as I can remember, the reason for weaker transaction support in SQLite is because nobody so far had a need for those. I see no reason why it shouldn't be supported, but I can't promise when that would be done; you can do the work yourself and send pul request.

ClaudeTO80 commented 1 week ago

@bas524 Thanks a lot for your reply and support. Close the issue.