The hssqlppp package

[Tags: bsd3, library]

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;

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:

See the project page 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:


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, 0.4.2
Change logNone available
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
CopyrightCopyright 2009 Jake Wheat
AuthorJake Wheat
Home page
UploadedWed Jan 13 23:59:41 UTC 2010 by JakeWheat
Downloads1966 total (97 in last 30 days)
StatusDocs not available [build log]
All reported builds failed [all 1 reports]



Maintainers' corner

For package maintainers and hackage trustees