SQLite is een in C ontwikkeld databasesysteem dat als database voor onder meer websites en embedded applicaties is te gebruiken. Volgens de ontwikkelaars heeft SQLite geen installatie en administratie nodig, ondersteunt het databases tot een omvang van twee terabyte en wordt een volledige database in één bestand opgeslagen. Verder ondersteunt het bijna de volledige SQL92-specificatie en is het eenvoudig via onder andere Tcl/Tk aan te sturen. De ontwikkelaar heeft versie 3.36.0 met de volgende lijst aanpassingen de deur uit gedaan:
Version 3.36.0
- Improvement to the EXPLAIN QUERY PLAN output to make it easier to understand.
- Byte-order marks at the start of a token are skipped as if they were whitespace.
- An error is raised on any attempt to access the rowid of a VIEW or subquery. Formerly, the rowid of a VIEW would be indeterminate and often would be NULL. The -DSQLITE_ALLOW_ROWID_IN_VIEW compile-time option is available to restore the legacy behavior for applications that need it.
- The sqlite3_deserialize() and sqlite3_serialize() interfaces are now enabled by default. The -DSQLITE_ENABLE_DESERIALIZE compile-time option is no longer required. Instead, there is is a new -DSQLITE_OMIT_DESERIALIZE compile-time option to omit those interfaces.
- The "memdb" VFS now allows the same in-memory database to be shared among multiple database connections in the same process as long as the database name begins with "/".
- Back out the EXISTS-to-IN optimization (item 8b in the SQLite 3.35.0 change log) as it was found to slow down queries more often than speed them up.
- Improve the constant-propagation optimization so that it works on non-join queries.