{0 caqti index}

{1 Library caqti}

This is classic API for Caqti, which mirrors the above libray and provides
signatures, configurations, and a few other things for other Caqti packages.
The plan in to uses wrapped module everywhere and to make some adjustments
to the organization of modules.  You may continue to use this for now, as
deprecation is posponed until the complete replacement is available.

This library exposes the following toplevel modules:
{!modules:
    Caqti_connect_sig
    Caqti_connection_sig
    Caqti_driver_info
    Caqti_error
    Caqti_mult
    Caqti_pool_config
    Caqti_pool_sig
    Caqti_query
    Caqti_query_fmt
    Caqti_request
    Caqti_response_sig
    Caqti_stream_sig
    Caqti_switch_sig
    Caqti_type
    Caqti_type_sig
}

{1 Preview library caqti.template}

For now, {b this library is provides as a preview only.  The interface will
change in incompatible ways} before it's declared ready for usage in
production code.

This library provides the interface to create templates for requests to send
to the database.  A request template essentially combines a parametrised
query string with a parameter encoder and a row decoder, and can often be
defined statically.  Execution of queries are handled by other packages,
depending on your preferred concurrency and OS libraries.

The entry point of this library is the module:
{!module-Caqti_template}

{1 Library caqti.blocking}

This library implements the blocking (non-)concurrency using the unix library.
Real concurrency support is provided by separate packages.

The entry point of this library is the module:
{!module-Caqti_blocking}.

{1 Library caqti.plugin}

This library registers a dynamic linker based on the dune-site.plugin
library, which allows Caqti to automatically load driver libraries inferred
from the URI when connecting to a new kind of database for the first time.
It has entry point; linking aganist it provides all of its functionality.


{1 Platform Libraries for Internal Use}

The platform libraries are only meant for use in implementing drivers and
concurrency support.  {b These APIs are unstable}, i.e. they can change between
minor versions and without prior deprecation notices.

{2 Library caqti.platform}

The entry point of this library is the module:
{!module-Caqti_platform}.

{2 Library caqti.platform.unix}

The entry point of this library is the module:
{!module-Caqti_platform_unix}.
