The hssqlppp package

[Tags: bsd3, library]

Sql parser, pretty printer and type checker, targets PostgreSQL SQL and PL/pgSQL, uses Parsec and UUAGC.

Overview:

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;

TypeChecker for type checking and annotating asts 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;

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.

CommandComponents for the component functions used in the HsSqlSystem exe.

ChaosExtensions for the experimental plpgsql syntax extensions.

Comes with command line access to some functions via a exe called HsSqlSystem, run this file with no arguments to get some help. Has a HUnit test suite which you can run using the HsSqlSystem executable. for the time being you can look at the source of this command to see what it can do:

http://bazaar.launchpad.net/~jakewheat/hssqlppp/trunk/annotate/head:/HsSqlSystem.lhs

See the project page https://launchpad.net/hssqlppp for more information and documentation links.

The test files for parsing and for type checking contain examples of what parses/ typechecks and what the asts and annotations look like:

http://bazaar.launchpad.net/~jakewheat/hssqlppp/trunk/annotate/head:/Database/HsSqlPpp/Tests/ParserTests.lhs

http://bazaar.launchpad.net/~jakewheat/hssqlppp/trunk/annotate/head:/Database/HsSqlPpp/Tests/TypeCheckTests.lhs


Properties

Versions0.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
Dependenciesbase (==4.*), cmdargs, containers, directory, filepath, haskell-src-exts, haskell98, HDBC, HDBC-postgresql, HUnit, mtl, parsec (>=3), Pipe, pretty, pretty-show, process, regex-posix, syb, template-haskell, test-framework, test-framework-hunit, uniplate
LicenseBSD3
CopyrightCopyright 2009 Jake Wheat
AuthorJake Wheat
Maintainerjakewheatmail@gmail.com
Stabilitypre-alpha
CategoryDatabase
Home pagehttps://launchpad.net/hssqlppp
Bug trackermailto:jakewheatmail@gmail.com
ExecutablesHsSqlSystem
Upload dateWed Jan 13 23:59:41 UTC 2010
Uploaded byJakeWheat
Downloads697 total (73 in last 30 days)

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees