[ANN] Caqti 1.0.0

announce

#1

Caqti is an abstraction layer over relational database client libraries, currently supporting MariaDB, PostgreSQL and Sqlite3 providing monadic concurrency, connection pools, and unified parameter handling. There is online API documentation.

I am please to announce the first formally stable release, with the following highlights from the change log:

  • Applied an essential fix of ptime to string conversion for PostgreSQL by @monstasat, with apologies for the delayed release to anyone who might have encountered the issue.
  • Support microsecond precision for MariaDB. This completes the support for full time precision in all drivers.

and some adjustments of the API:

  • Added Caqti_type.Std : Caqti_type_sig.Std, containing type descriptors needed for building requests, for easy inclusion in custom modules.
  • Removed Caqti_type.Field.ex and renamed Caqti_type.ex to Caqti_type.any and related functions.
  • Removed other deprecated definitions.
  • Moved Caqti_system_sig into Caqti_driver and split up the signature to make room for future drivers on alternative platforms.

#2

Care to share a link?


#3

Good idea, post edited.


#4

You should also add the link to your response, as the editing of posts
does not resend them as email.

Thanks,

Alan


#5

Right, so to those of you reading this on email the links are:

There is also a nice introductory tutorial on Medium.


#6

I made a minor update to version 1.1.0 of some of the Caqti packages. This fixes an issue with recovery after connection loss for PostgreSQL discovered by Dave Aitken, and adds recovery for MariaDB when using a connection pool, so I recommend updating any continuously running services.

Here is the full release note:

  • 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.