hasql: A minimalistic general high level API for relational databases

[ database, hasql, library, mit, postgresql ] [ Propose Tags ]
This version is deprecated.

A robust and concise yet powerful API for communication with arbitrary relational databases using SQL.

Features:

  • Concise and crisp API. Just a few functions and two monads doing all the boilerplate job for you.

  • A powerful transaction abstraction, which provides an automated resolution of conflicts. The API ensures that you're only able to perform a specific set of actions in the transaction context, which allows Hasql to safely resolve conflicting transactions by automatically retrying them. This is much inspired by STM and ST.

  • Support for cursors. Allows to fetch virtually limitless result sets in a constant memory using streaming.

  • Employment of prepared statements. Every statement you emit gets prepared and cached. This raises the performance of the backend.

  • Automated management of resources related to connections, transactions and cursors.

  • A built-in connections pool.

  • Compile-time generation of templates. You just can't write a statement with an incorrect number of placeholders.

  • Ability to map to any types actually supported by the backend.

Links:

Modules

[Last Documentation]

  • Hasql

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4.0, 0.4.1, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.3.1, 0.7.3.2, 0.7.4, 0.14.0.2, 0.14.0.3, 0.15.0.2, 0.15.1, 0.15.1.1, 0.19.2, 0.19.3, 0.19.3.1, 0.19.3.2, 0.19.3.3, 0.19.4, 0.19.5, 0.19.6, 0.19.7, 0.19.8, 0.19.9, 0.19.10, 0.19.11, 0.19.12, 0.19.13, 0.19.14, 0.19.15, 0.19.15.1, 0.19.15.2, 0.19.16, 0.19.17, 0.19.17.1, 0.19.18, 0.19.18.1, 0.19.18.2, 0.20, 0.20.0.1, 0.20.1, 1, 1.1, 1.1.1, 1.2, 1.3, 1.3.0.1, 1.3.0.2, 1.3.0.3, 1.3.0.5, 1.3.0.6, 1.4, 1.4.0.1, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.4.1, 1.4.4.2, 1.4.4.3, 1.4.5, 1.4.5.1, 1.4.5.2, 1.4.5.3, 1.5, 1.5.0.1, 1.5.0.2, 1.5.0.3, 1.5.0.4, 1.5.0.5, 1.5.1, 1.6, 1.6.0.1, 1.6.1, 1.6.1.1, 1.6.1.2, 1.6.1.3, 1.6.1.4, 1.6.2, 1.6.3, 1.6.3.1, 1.6.3.2, 1.6.3.3, 1.6.3.4, 1.6.4, 1.6.4.1, 1.6.4.2, 1.6.4.3, 1.6.4.4, 1.7, 1.7.0.1, 1.7.0.2, 1.8, 1.8.0.1, 1.8.0.2, 1.8.1, 1.8.1.1 (info)
Dependencies attoparsec (>=0.10 && <0.13), base (>=4.5 && <4.8), base-prelude (>=0.1.3 && <0.2), bytestring (>=0.10 && <0.11), ex-pool (>=0.2 && <0.3), hasql-backend (>=0.2 && <0.3), list-t (>=0.2.4 && <0.3), loch-th (>=0.2 && <0.3), mmorph (>=1.0 && <1.1), monad-control (>=0.3 && <0.4), mtl-prelude (<3), placeholders (>=0.1 && <0.2), safe (>=0.3 && <0.4), template-haskell (>=2.8 && <2.10), text (>=1.0 && <1.3), time (>=1.4 && <1.6), transformers-base (>=0.4 && <0.5), vector (<0.11) [details]
License MIT
Copyright (c) 2014, Nikita Volkov
Author Nikita Volkov <nikita.y.volkov@mail.ru>
Maintainer Nikita Volkov <nikita.y.volkov@mail.ru>
Revised Revision 1 made by phadej at 2016-07-04T08:10:17Z
Category Database
Home page https://github.com/nikita-volkov/hasql
Bug tracker https://github.com/nikita-volkov/hasql/issues
Source repo head: git clone git://github.com/nikita-volkov/hasql.git
Uploaded by NikitaVolkov at 2014-11-29T18:37:56Z
Distributions Arch:1.5.0.4, LTSHaskell:1.6.4.4, NixOS:1.6.4.4, Stackage:1.8.1.1
Reverse Dependencies 45 direct, 3 indirect [details]
Downloads 63907 total (206 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-22 [all 6 reports]