hasql: A minimalistic general high level API for relational databases

[ database, hasql, library, mit, postgresql ] [ Propose Tags ]

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

[Index]

Downloads

Maintainer's Corner

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 (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>
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-18T09:31:08Z
Distributions Arch:1.5.0.3, LTSHaskell:1.5.1, NixOS:1.5.1, Stackage:1.6.1.3
Downloads 57431 total (277 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]