@hackage hasql0.1.1

A minimalistic general high level API for relational databases

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

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.

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

  • Mapping to any types actually supported by the backend.

Links: