dbsql/TODO

79 lines
2.7 KiB
Text
Raw Permalink Normal View History

2009-09-01 02:41:32 +00:00
* Rename dbsql_strerror to dbsql_strerr
* Fix logic issue in query processing
tests/smoke2.sql produces incorrect joins
2009-09-01 02:41:32 +00:00
* Check all DB API calls
Make sure a) we check return codes for for all calls into DB and
2009-09-01 02:41:32 +00:00
that b) when there is an error we output it only when configured
to be verbose and c) then return the proper DBSQL error indicating
what went wrong at a higher level.
* Review all reused DB code
Make sure that we're up to date with the latest in DB. Things such
2009-09-01 02:41:32 +00:00
as hashing, etc.
* Find printf/fprintf calls which print error messages
The library should never print messages unless configured to be
verbose.
* tests/
Fix testing infrastructure.
- api.c/__os_sleep()
This is now static in DB's code, so to hack the compile I
commented out the use of __os_sleep() in api.c
- test/scr026
This test has not been updated to check for DBSQL API calls
rather than DB API calls. Review and fix it.
- test/scr030
Update this test to match the configure script. Augment it so
that as the configure script changes the script reports options
not tested.
- A few scr??? < 050
Some of these tests examine source code but do not include the
TCL testing code and so produce false positive FAILures.
- Add test/scr0?? to highlight code notes
FIXME, TODO, and other source source markers
* Code quality and build tools
- valgrind
Fix all memory related bugs.
- splint
Clean up all items pointed out by splint.
- makedepend
Finish integrating this into the dist/Makefile
2009-09-01 02:41:32 +00:00
* Review code for trailing spaces, tab characters, lines > 79 col
* review dbsql/dbsql.c
General clean-up including changing calls to malloc, free, etc to
__os_malloc, __os_free, etc.
2009-09-01 02:41:32 +00:00
* Review SQLite's latest lemon.c and lempar.c code
Consider updating to the newest versions of the parser generator.
2009-09-02 01:58:47 +00:00
2009-09-03 00:52:49 +00:00
* Use LIST/QUEUE macros for linked lists, queues, etc.
Find/replace all custom code implementing these simple data
structures.
* Review memory allocation code in general
* Consider using MPOOL to manage some of DBSQL state across processes
Function pools and other aspects of the DBSQL runtime need not be
re-created in-memory across multiple processes. When doing this
revisit data structures using the LIST/QUEUE macros and shift them
to the SH_ equivalents.
* Random number generator
SQLite implements its own suggesting that rand32_r() (and other
random number generators) are both truely random and bug free.
Some portion of the VDBE requires random numbers to be,
well... random, or as close as possible.
* Review src/vdbe, finish converting to DBSQL-style
* Investigate the TCL Extension Architecture
http://www.tcl.tk/doc/tea/