- Improved documentation to more precisely define exactly what SQLite is suppose to do.
- Additional test cases to bring condition/decision coverage up to 100%.
- Separate independently developed test harnesses to suppliment
the principal TCL test harness.
- New test harnesses 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.
- Devise new ways of stress testing SQLite. The fuzz testing added in May of 2007 is an example of this.
- Tracability between requirements and test cases.
- Use assert-like macros in code to prove boundary cases have been tested.
- Hard upper bounds on heap and stack memory utilization.
- Bring FTS3 up to the coding and testing standards of the SQLite core
- Take advantage of the new register-based VM design to
generate tighter VM code.
- Common subexpression elimination.
- Constant folding
- Develop a new sort implementation that does much less disk seeking. Use to improve indexing performance on large tables.
- Take advantage of SQLITE_IOCAP_SAFE_APPEND on filesystems that support it
- Optional support for cross-platform asynchronous I/O.
- Fewer calls to malloc/free on multi-threaded platforms.
- SAVEPOINT and nested transactions
- Enforce foreign key constraints.
- Omit support for deferred constraints
- Omit support for CASCADE
- R-Tree support
- Additional built-in functions
- Support for additional locking styles
- Make limits run-time configurable on a per-connection basis.
- Allow VACUUM to change the page size of a database.
- Simplify the CREATE INDEX syntax to omit the need to specify the attached database when the table name is unambiguous.
- Better documentation for newbies.
- Precise and detailed documentation of the SQLite file format.
- Detailed documentation of the virtual table interface
- Detailed documentation of the FTS3 module