File: TODO

package info (click to toggle)
haskelldb 0.9.cvs.601-13
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 680 kB
  • ctags: 33
  • sloc: haskell: 4,392; sh: 1,900; makefile: 130
file content (80 lines) | stat: -rw-r--r-- 2,920 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Things that need to be done, in no particular order:

- Code:
  * Handle dates correctly. 
    - Handle dates before 1970.
    - Distinguish between date / time / date & time.
  * Overload operators so that when they take a maybe, they always 
    return maybe, i.e. .<. may give NULL when one of the arguments
    is NULL. Suggested by eivuokko.
  * Support like, cat etc. on nullable arguments.
  * Support all SQL datatypes
  * make SQL generation tweakable by the DB driver, since different
    DBs have different SQL syntax, for example TOP / LIMIT.
    Added by Bjorn, suggested by Shae Erisson.
  * Figure out some intutive way of doing grouping.
  * Fix semantics of lazyQuery.
  * Fix table alias clashes with binary relops.
  * Allow using queries in expressions.
  * Change types of aggregate expressions that can return NULL when the
    table is empty to reflect the nullability.
  * Fix typing bug where update does not check that all fields are in the
    table (probably by adding a subtyping relation on records).
  (* strictness checking. In other words: optimize the code to sort out what
     types and expressions are evaluated strictly, and explicitly tell the
     compiler that they are strict)
  (* maybe make it work on multi-processor systems using Concurrent Haskell?)
  (* try to compile with nhc98. It would be nice to support all three 
     available Haskell compilers)
  (* Add features for modifying tables /Added by Bjorn,
     suggested by Shae Erisson)
  (* use template haskell to compile queries to SQL at compile time 
     /Added by Bjorn, thanks to Anders Carlsson for inspiration )

- DbDirect 
  * Set sensible default values for all NOT NULL columns.
  (* add optional command line argument for selecting which
  tables to generate code for)

- Installation
  * Install targets should install DbDirect and the documentation.
  * Packages (separate binary packages for Hugs and GHC?))
    - Source tarball
    - Linux binary and source RPMs (debs, ebuild?)
    - Windows installer (MSI?)

- Build system 

- Database drivers

  * Add more drivers:
     - Oracle (http://cvs.sf.net/viewcvs.py/haskell-libs/libs/takusen/)

  * wxHaskell:
    - Figure out how to handle wrapping wxHaskell execute calls
      in transactions intelligently.
    - Make dbQuery lazy.
    - Make it work in Hugs.

  * SQLite:
    - Make SQLite report more useful types. Make HSQL parse the original
      create query from the meta-table?

- Documentation
  * Haddock comments on all exported functions, classes and types
  * Tutorial
  * Example programs

- Testing
  * Test on Windows, Solaris, Linux, Mac OS X
  * Test against different DB systems, at least MySQL, PostgreSQL,
    Oracle
  * Test under GHC and Hugs
  * Test all functions
  * Test all datatypes
  * Test NULL and NOT NULL fields

- Misc
  * Get an allocated name in the hierarchical library namespace 
    (Database.HaskellDB?)