From HaskellWiki
Revision as of 16:32, 4 July 2008 by M (talk | contribs) (Added list of tasks)

Jump to: navigation, search

MetaHDBC is a project that will use Template Haskell and HDBC to do statically checked database access.

For a little background, see this haskell-cafe post which got the project started.

Installation notes for MetaHDBC.

After installation you can look at the examples directory in the repository to get started easily with MetaHDBC.


If you are interested in helping out with any of the following task, please contact me. If you have other tasks, that could help MetaHDBC, it would also be beneficiary to contact me before starting.

Make popular open source database do type inference

Currently, we have found no open source database which do type inference. This is unfortunately as it makes MetaHDBC a lot less valuable.

Refactoring the test cases

I (Mads Lindstrøm) are working towards refactoring the test cases, so that they will be easier to understand and be easier to run. They can be problematic to run if you do not have all of PostgreSQL, MySQL, SQLite and DB2 installed. It should be possible to run a subset of the test-cases matching the databases a user has installed.

Testing MetaHDBC on MS Windows

MetaHDBC has only been run on Linux. We would especially like to see MetaHDBC used with MS SQL server, as we expect (hope for) SQL server to have good type inference.

Removing the need to patch HDBC

To make MetaHDBC compile we need to patch HDBC. It would be better if did not need this.

The need can be removed by either making our own binding towards ODBC, or by making a patch that would be acceptable by the HDBC maintainer (John Goerzen). The latter solution would be preferable and we have made two feature request towards HDBC-ODBC, here and here. However, feature requests is one thing, working maintainable code is another. Please consider implementing the two feature requests in such a way that they could be included in the HDBC-ODBC package. You should, of cause, talk to John Goerzen before implementing these features requests.