A low-level MySQL client library.
|Version on this page:||0.1.7|
|LTS Haskell 20.23:||0.2.1|
|Stackage Nightly 2023-05-31:||0.2.1|
|Latest on Hackage:||0.2.1|
Module documentation for 0.1.7
mysql: bindings to the mysqlclient library
This library is a Haskell binding to the MySQL
library. It is a fairly faithful, low level library that implements
most of the MySQL client API. The major departure from the C API is
that in Haskell, resource management is mostly automatic and safe.
This library deliberately avoids the question of providing a “good” API. Its purpose is to serve as a base upon which higher-level libraries can be built.
This library is BSD-licensed under the terms of the MySQL FOSS License Exception.
Since this library links against the GPL-licensed
library, a non-open-source application that uses it may be subject
to the terms of the GPL.
- Add support for prepared statements. The prepared statement API is huge and of dubious performance value, so it’s not currently a priority for us. Patches welcome!
We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.
Please report bugs via the github issue tracker.
Master git repository:
git clone git://github.com/paul-rouse/mysql.git
This library was written by Bryan O’Sullivan, firstname.lastname@example.org, to whom all of the credit is due. It is now being maintained by Paul Rouse, email@example.com.
- Add support for JSON type
- Fix build for mysql 8
- Add Semigroup instance for FieldFlags
- Fix some warnings
- Drop testing under GHC 7.8 / lts-2
- Expose mysql_thread_end() as
- Safer concurrency - see https://ro-che.info/articles/2015-04-17-safe-concurrent-mysql-haskell
- Better support for building against MariaDB (not well tested).
- Additional C binding: mysql_get_server_version().
- Fix bystestring-valued connectOptions sometimes not being null terminated at the correct place (avoid unsafeUseAsCString).
- Fix setup for cabal 1.24
- New maintainer and GitHub location - with many thanks to Bryan O’Sullivan for all of the past work on this module, and for facilitating the transfer of maintenance responsibility.