Small. Fast. Reliable.
Choose any three.

This information is obsolete. You are looking at the CVSTrac source management system display for SQLite that was replaced by Fossil on 2009-08-11. The information shown here has not been updated since that cut-over. These pages are retained for historical reference only.

Here is a list of things that the core SQLite developers want to work on in the near future. These items are in no particular order.

Reliability Enhancements

  1. Improved documentation to more precisely define exactly what SQLite is suppose to do.
  2. Additional test cases to bring code path coverage up to 100%.
  3. Separate independently developed test harnesses to suppliment the principal TCL test harness.
    • New test harness have no external dependencies and thus can run on embedded platforms.
    • New test harnesses use the published SQLite API only - no use of undocumented hooks to view or modify internal state.
    • Focus on requirements-based rather than structural testing.
  4. Devise new ways of stress testing SQLite. The fuzz testing added in May of 2007 is an example of this.
  5. Tracability between requirements and test cases

Performance Improvements

  1. Take advantage of the new register-based VM design to generate tighter VM code.
    • Common subexpression elimination.
    • Constant folding
  2. Develop a new sort implementation that does much less disk seeking. Use to improve indexing performance on large tables.
  3. Take advantage of SQLITE_IOCAP_SAFE_APPEND on filesystems that support it
  4. Optional support for cross-platform asynchronous I/O.
  5. Fewer calls to malloc/free on multi-threaded platforms.

New Featues

  1. SAVEPOINT and nested transactions
  2. Enforce foreign key constraints.
    • Omit support for deferred constraints
    • Omit support for CASCADE
  3. R-Tree support
  4. Additional built-in functions
  5. Support for additional locking styles