The hssqlppp package
Sql parser, pretty printer and type checker, targets PostGreSQL SQL and PL/pgSQL, uses Parsec and UUAGC.
see the module Ast for the ast types;
Parser for converting text to asts;
PrettyPrinter for converting asts to text;
AnnotateSource for pretty printing annotations inline with original source;
Annotator for annotating asts (this does the type checking); and working with annotated trees;
SqlTypes for the data types which represent SQL types, the data type for type errors, and some support functions;
Annotation for the annotation data types and utilities, this also contains the data types for SQL types;
Environment to read a catalog from a database to type check against, or to generate catalog information;
DatabaseLoader for the beginnings of a routine to load SQL into a database (e.g. to generate an ast then load it into a database without loading it via psql). The loader just about does the job but error handling is a bit crap at the moment.
Comes with a HUnit test suite which you can run using the HsSqlPppTests executable, and command line access to some functions via a exe called HsSqlSystem, run this file with no arguments to get some help. See the project page https://launchpad.net/hssqlppp for more information and documentation links.
[Skip to ReadMe]
|Versions||0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.4.0, 0.4.1, 0.4.2|
|Dependencies||base (==4.*), containers, directory, haskell98, HDBC, HDBC-postgresql, HUnit, mtl, parsec (>=3), pretty, regex-posix, syb, test-framework, test-framework-hunit [details]|
|Copyright||Copyright 2009 Jake Wheat|
|Uploaded||Thu Nov 26 19:30:36 UTC 2009 by JakeWheat|
|Downloads||2687 total (48 in last 30 days)|
|Status||Docs uploaded by user|
Build status unknown [no reports yet]
For package maintainers and hackage trustees