Small. Fast. Reliable.
Choose any three.

About Documentation Download License Support Purchase |

## SQLite Release 3.8.3 On 2014-02-03

- Added support for common table expressions and the WITH clause.
- Added the printf() SQL function.
- Added SQLITE_DETERMINISTIC as an optional bit in the 4th argument to the sqlite3_create_function() and related interfaces, providing applications with the ability to create new functions that can be factored out of inner loops when they have constant arguments.
- Add SQLITE_READONLY_DBMOVED error code, returned at the beginning of a transaction, to indicate that the underlying database file has been renamed or moved out from under SQLite.
- Allow arbitrary expressions, including function calls and subqueries, in the filename argument to ATTACH.
- Allow a VALUES clause to be used anywhere a SELECT statement is valid.
- Reseed the PRNG used by sqlite3_randomness(N,P) when invoked with N==0. Automatically reseed after a fork() on unix.
- Enhance the spellfix1 virtual table so that it can search efficiently by rowid.
- Performance enhancements.
- Improvements to the comments in the VDBE byte-code display when running EXPLAIN.
- Add the "%token_class" directive to LEMON parser generator and use it to simplify the grammar.
- Change the LEMON source code to avoid calling C-library functions that OpenBSD considers dangerous. (Ex: sprintf).
- Bug fix: In the command-line shell CSV import feature, do not end a field when an escaped double-quote occurs at the end of a CRLN line.
- SQLITE_SOURCE_ID: "2014-02-03 13:52:03 e816dd924619db5f766de6df74ea2194f3e3b538"
- SHA1 for sqlite3.c: 98a07da78f71b0275e8d9c510486877adc31dbee

A complete list of SQLite releases in a single page and a chronology are both also available. A detailed history of every check-in is available at SQLite version control site.