Drop SQlite support and use more advanced DB features



There were many situations in the past where using advanced DB features would be helpful, like row locking, insert if not exists, or other complex operations that could be done in an atomic way and help avoid concurrency issues.

However, for every DB usage, developers usually refrain from using DB specific features in order to be able to support a broader range of databases, like SQLite. The result is that we often have to split SQL statements in several non-atomic commands and have to ensure atomicity on the PHP level.

Considering that SQLite isn't recommended for ownCloud and also doesn't support many advanced DB features, how about dropping support for SQLite ?

  • keep supporting SQLite
  • drop support for SQLite



This will be a problem for people on webhosters. Their databases sometimes don't support InnoDB or they use small timeouts so SQLite is the only way to run ownCloud. Not sure how many people are affected by this.



Yes, but on the other hand, imagine how many people will benefit from having their data consistent, cloud more stable, and core code less bug prone and cleaner