package caqti
Unified interface to relational database libraries
Install
Dune Dependency
Authors
Maintainers
Sources
caqti-v1.2.0.tbz
sha256=bc67a61e9c43f1cd9ab54476bdd4ea6495decd281aececcb4062c29713a7391d
sha512=17018a142bd29be3b503c6b6f5320ec65b3418a46bb82c0127f5ff198890d56bd9e50263ce20930e8c6e0dadb8bdf5f43b6479fc111948d44e3170715e40c290
doc/CHANGES.html
v1.2.0 - 2019-10-02
- Add a signature for the populate function, and add basic implementations for all drivers (GPR#28).
- Add stream for result extraction (GPR#22 Nathan Rebours).
- Use the postgres driver when
postgres
is specified as the URL scheme (GPR#25 James Owen). - Documentation improvements (GPR#20 Nathan Rebours, etc.).
- Reimplemented partly ineffective prepare-cache for PostgreSQL.
- Backwards incompatible changes to the driver API.
- Backwards incompatible changes to modules marked internal but exposed due to being split across packages.
- Fix forward compatibility past OCaml 4.08 as announced by deprecations.
v1.1.0 - 2019-02-03
- Add pretty printer for requests.
- Add variance to
'a future
declarations. - Add blocking instance of API.
- Generalize
$.
to$<var>.
in queries. - Infer the expansion of
$(<var>.)
from$(<var>)
if not provided. - Fix connection recovery for PostgreSQL (issue #19, Dave Aitken).
- Fix some unhandled exceptions for PostgreSQL.
- Fix connection validation for MariaDB.
v1.0.0 - 2018-08-26
- Added
Caqti_type.Std : Caqti_type_sig.Std
, containing type descriptors needed for building requests, for easy inclusion in custom modules. - Fix ptime to string conversion for PostgreSQL (monstasat).
- Support microsecond precision for MariaDB.
- Removed
Caqti_type.Field.ex
and renamedCaqti_type.ex
toCaqti_type.any
and related functions. - Removed other deprecated definitions.
- Moved
Caqti_system_sig
intoCaqti_driver
and split up the signature to make room for future drivers on alternative platforms.
v0.11.0 - 2018-05-25
Added and improved:
- Compliance with Lwt 4.0 contributed by Brendan Long.
- Switched to the logs library for logging.
- Strengthen detection of concurrent use of connection.
- Support microsecond precision for timestamps for PostgreSQL and millisecond for Sqlite3.
- Use float for time spans in Sqlite3.
- Map the
octets
type to BLOBs for MariaDB and Sqlite3. - Log recoverable errors for MariaDB and Sqlite3.
Removed:
- The v1 API is now removed.
Ecosystem:
- CI setup contributed by Brendan Long.
- Various documentation updates.
v0.10.2 - 2018-04-05
- Fix incompatibility with
ppx_optcomp
v0.11.0 by dropping it, since the conditionals where no longer needed. - Restore test during opam build.
- The v1 API is now fully
[@@@deprecated]
and will be removed in the next major release.
v0.10.1 - 2018-02-27
- Fix a pool size counting bug when resource allocation fails. This can cause deadlock due to pool exhaustion.
v0.10.0 - 2018-02-14
- Added
-linkall
flags to driver libraries to fix direct linking (#9). - Added convenience functions
collect_list
andrev_collect_list
(#8). - Renamed
template
toquery
and related function, leaving deprecated aliases. - Added
ptime_span
field type mapping to SQL intervals. - Be more permissive about types of data returned from MariaDB when expecting numerical results.
v0.9.0 - 2018-01-04
- Move v1 into findlib sublibraries and announce deprecation.
- Port remaining tests to v2 and fix issues in MariaDB and Sqlite3 drivers.
- Don't include password component of URIs in error messages.
- Rename
io
type constructor tofuture
. - Fix pool size limit enforcement.
- Drop error on disconnect.
- Support substitutions in request convenience functions.
v0.8.1 - 2017-12-06
- Fix
start
transaction for PostgreSQL v2. - Fix dependency on ptime in
caqti.opam
in distribution.
v0.8.0 - 2017-12-04
- Remove most deprecations.
- Add new v2 API.
- Move away most of the v1 API, but keep deprecated aliases for the client API.
The main difference of the new API compared to the old is:
- It uses typed parameters and rows with an extensible variant for field type and a custom definable compound type.
- The connection has a
call
method which gives access to a result object before iterating over the returned rows. - Error handling is done with the
result
type, using a collection of error types formed as polymorphic variants of records.
Notice: This version is mostly backwards compatible. New code should use v2, but v1 will be kept for now. To keep using the v1 in upcoming releases:
- Fix the new deprecations from this release.
- Link with
caqti-dynload
to keep using dynamic loading, or link with the neededcaqti-driver-*.v1
driver libraries. - Link with
caqti.v1
instead ofcaqti
. - Link with
caqti-lwt.v1
instead ofcaqti-lwt
. - Link with
caqti-async.v1
instead ofcaqti-async
.
v0.7.0 - 2017-11-03
- Remove WRAPPER and REPORT functionality.
- Remove deprecated findlib aliases.
- Renamed
date
andutc
conversions todate_cl
andutc_cl
. - Deprecate
Caqti_metadata
in favour of the newCaqti_driver_info
. - Move various signature to separate files, leaving deprecated aliases.
v0.6.1 - 2017-10-26
- Fixed support for lwt >= 3, but keep supporting 2.7 as well for now.
- Fixed preparation of query after reconnect to PostgreSQL.
- Fixed support for ocaml 4.03.x.
- Added
Tuple.length
. - Deprecated
Param.sub_types
. - Deprecated
Param.other
andTuple.other
.
v0.6.0 - 2017-06-05
- Split into separate packages to avoid depopts and rename findlib names accordingly.
- Use findlib to load DB drivers, and use
-linkall
. This hopefully solves loading issues.
v0.5.3 - 2017-05-22
- Fix handling of spaces in Sqlite3 URIs and allow setting mode.
- Split
Caqti
(now deprecated) intoCaqti_errors
andCaqti_connect
. - Update to async 0.9.0.
v0.5.2 - 2017-02-25
- Fix plugin loader to handle modernised
META
.
v0.5.1 - 2017-02-25 retracted
- Rename libraries to match
META
.
v0.5.0 - 2017-02-25 retracted
- Added MariaDB backend.
- Fixed VARCHAR for SQLite3 describe.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
- v1.1.0 - 2019-02-03
- v1.0.0 - 2018-08-26
- v0.11.0 - 2018-05-25
- v0.10.2 - 2018-04-05
- v0.10.1 - 2018-02-27
- v0.10.0 - 2018-02-14
- v0.9.0 - 2018-01-04
- v0.8.1 - 2017-12-06
- v0.8.0 - 2017-12-04
- v0.7.0 - 2017-11-03
- v0.6.1 - 2017-10-26
- v0.6.0 - 2017-06-05
- v0.5.3 - 2017-05-22
- v0.5.2 - 2017-02-25
- v0.5.1 - 2017-02-25 retracted
- v0.5.0 - 2017-02-25 retracted