Small. Fast. Reliable.
Choose any three.

About Documentation Download License Support Purchase |

## SQLite Release 3.3.9 On 2007-01-04

- Fix bugs in pager.c that could lead to database corruption if two processes both try to recover a hot journal at the same instant
- Added the sqlite3_prepare_v2() API.
- Fixed the ".dump" command in the command-line shell to show indices, triggers and views again.
- Change the table_info pragma so that it returns NULL for the default value if there is no default value
- Support for non-ASCII characters in win95 filenames
- Query optimizer enhancements:
  - Optimizer does a better job of using indices to satisfy ORDER BY clauses that sort on the integer primary key
  - Use an index to satisfy an IS NULL operator in the WHERE clause
  - Fix a bug that was causing the optimizer to miss an OR optimization opportunity
  - The optimizer has more freedom to reorder tables in the FROM clause even in there are LEFT joins.
- Extension loading supported added to WinCE
- Allow constraint names on the DEFAULT clause in a table definition
- Added the ".bail" command to the command-line shell
- Make CSV (comma separate value) output from the command-line shell more closely aligned to accepted practice
- Experimental FTS2 module added
- Use sqlite3_mprintf() instead of strdup() to avoid libc dependencies
- VACUUM uses a temporary file in the official TEMP folder, not in the same directory as the original database
- The prefix on temporary filenames on Windows is changed from "sqlite" to "etilqs".

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.