This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/asf-site by this push:
new b2ebc98c3 publish documentation
b2ebc98c3 is described below
commit b2ebc98c31b40a7a473b7c2ef06805cd4cb7828d
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Sep 5 00:43:05 2025 +0000
publish documentation
---
main/_sources/cpp/driver_manager.rst.txt | 5 +-
main/_sources/driver/installation.rst.txt | 2 +-
main/_sources/glossary.rst.txt | 31 ++++++--
main/_sources/java/driver_manager.rst.txt | 2 +
main/_sources/python/driver_manager.rst.txt | 69 +++++++++++------
main/_sources/python/quickstart.rst.txt | 4 +-
main/_sources/rust/driver_manager.rst.txt | 24 +++---
main/cpp/driver_manager.html | 9 +--
main/driver/installation.html | 2 +-
main/genindex.html | 6 +-
main/glossary.html | 29 ++++++--
main/java/driver_manager.html | 5 +-
main/objects.inv | Bin 4017 -> 4028 bytes
main/python/driver_manager.html | 82 +++++++++++++--------
main/python/quickstart.html | 8 +-
main/r/adbcbigquery/pkgdown.yml | 2 +-
main/r/adbcdrivermanager/pkgdown.yml | 2 +-
.../reference/adbc_connection_init.html | 4 +-
.../reference/adbc_database_init.html | 2 +-
.../reference/adbc_statement_init.html | 6 +-
main/r/adbcdrivermanager/search.json | 2 +-
main/r/adbcflightsql/pkgdown.yml | 2 +-
main/r/adbcpostgresql/pkgdown.yml | 2 +-
main/r/adbcsnowflake/pkgdown.yml | 2 +-
main/r/adbcsqlite/pkgdown.yml | 2 +-
main/rust/driver_manager.html | 28 +++----
main/searchindex.js | 2 +-
27 files changed, 201 insertions(+), 133 deletions(-)
diff --git a/main/_sources/cpp/driver_manager.rst.txt
b/main/_sources/cpp/driver_manager.rst.txt
index ed02ec532..002e8bc20 100644
--- a/main/_sources/cpp/driver_manager.rst.txt
+++ b/main/_sources/cpp/driver_manager.rst.txt
@@ -19,10 +19,7 @@
Driver Manager
==============
-The driver manager is a library that implements the ADBC API by
-delegating to dynamically-loaded drivers. This allows applications to
-use multiple drivers simultaneously, and decouple themselves from the
-specific driver.
+This document describes the installation and usage of the C++ :term:`driver
manager`.
Installation
============
diff --git a/main/_sources/driver/installation.rst.txt
b/main/_sources/driver/installation.rst.txt
index 7e86676b2..de31e9e21 100644
--- a/main/_sources/driver/installation.rst.txt
+++ b/main/_sources/driver/installation.rst.txt
@@ -128,7 +128,7 @@ Python
Install the appropriate driver package.
-.. note:: To use the DBAPI interface, ``pyarrow`` is also required.
+.. note:: To use the DBAPI interface, either ``pyarrow`` or ``polars`` must be
installed.
For example, from PyPI:
diff --git a/main/_sources/glossary.rst.txt b/main/_sources/glossary.rst.txt
index 0f57675ef..3441201f6 100644
--- a/main/_sources/glossary.rst.txt
+++ b/main/_sources/glossary.rst.txt
@@ -45,16 +45,31 @@ Glossary
PostgreSQL wire protocol. The JDBC PostgreSQL driver uses the same wire
protocol, but exposes the JDBC client API instead.
+ ADBC drivers can be implemented as libraries in different languages
+ including C++, C#, Go, and Rust. A driver can be imported directly into an
+ application that's implemented in the same language, or it can be compiled
+ into a shared library (a ``.so`` file for Linux, a ``.dylib`` file for
+ macOS, or a ``.dll`` file for Windows) and dynamically loaded into an
+ application in any supported language using a :term:`driver manager`.
+
driver manager
- A library that helps manage multiple drivers for a given client API.
- For example, the JDBC driver manager can find a appropriate driver
- implementation for a database URI.
+ A library for loading and using :term:`drivers <driver>`. A driver manager
+ implements the ADBC API and delegates to dynamically-loaded drivers. It
+ simplifies using multiple drivers in a single application and makes it
+ possible to use drivers written in any language, regardless of the
language
+ the application is written in.
+
+ The driver manager in each language is similar. In C/C++, it can
+ dynamically load drivers so that applications do not have to directly link
+ to them. (Since all drivers expose the same API, their symbols would
+ collide otherwise.) In Python, it loads drivers and provides Python
+ bindings on top.
- The ADBC driver manager in each language is similar. In C/C++, it can
- dynamically load drivers so that applications do not have to directly
- link to them. (Since all drivers expose the same API, their symbols
- would collide otherwise.) In Python, it loads drivers and provides
- Python bindings on top.
+ driver manifest
+ A file (in TOML format) describing a :term:`driver`. This file's structure
+ is part of the ADBC :doc:`specification <format/specification>`. A
+ :term:`driver manager` can load a driver from a which simplifies the
+ process for users.
statement
In ADBC, the statement object/struct holds state for executing a single
diff --git a/main/_sources/java/driver_manager.rst.txt
b/main/_sources/java/driver_manager.rst.txt
index 3f31421e4..5ff360cf5 100644
--- a/main/_sources/java/driver_manager.rst.txt
+++ b/main/_sources/java/driver_manager.rst.txt
@@ -19,6 +19,8 @@
Driver Manager
==============
+This document describes the installation of the Java :term:`driver manager`.
+
Installation
============
diff --git a/main/_sources/python/driver_manager.rst.txt
b/main/_sources/python/driver_manager.rst.txt
index ee951f038..c81b194fd 100644
--- a/main/_sources/python/driver_manager.rst.txt
+++ b/main/_sources/python/driver_manager.rst.txt
@@ -21,15 +21,11 @@
Driver Manager
==============
-The driver manager is a library that provides bindings to the ADBC C
-API. It delegates to dynamically-loaded drivers. This allows
-applications to use multiple drivers simultaneously, and decouple
-themselves from the specific driver.
+The ``adbc_driver_manager`` package provides a :term:`driver manager` interface
+for Python. The package provides two APIs:
-The Python driver manager provides both low-level bindings that are
-essentially the same as the C API. If PyArrow is installed, it also
-provides high-level bindings that implement the DBAPI_ (PEP 249)
-standard.
+1. Low-level bindings that are essentially the same as the :doc:`C API
<../format/specification>`.
+2. If PyArrow or Polars are installed, a DBAPI_ (PEP 249) compliant interface.
.. _DBAPI: https://peps.python.org/pep-0249/
@@ -43,34 +39,59 @@ Installation
Usage
=====
-.. warning:: This API is for low level usage only. **You almost certainly
- should not use this**, instead use the entrypoints provided by
- driver packages, for example:
+The driver manager is different from the individual, driver-specific packages
+such as ``adbc_driver_postgresql``.
- - :func:`adbc_driver_sqlite.dbapi.connect`
- - :func:`adbc_driver_sqlite.connect`
+With the driver-specific packages, you connect to the target database with the
+``connect`` method provided by the package you're using. For example,
+:func:`adbc_driver_postgresql.connect` or :func:`adbc_driver_sqlite.connect`.
+The driver shared library is bundled with the respective package and loaded
+invisibly for the user.
-The Python bindings for each driver abstract the steps here for you behind a
-convenient ``connect`` function. For example, prefer
-:func:`adbc_driver_sqlite.connect` or :func:`adbc_driver_postgresql.connect`
-to manually constructing the connection as demonstrated here.
+With the driver manager package, you use a single package and API regardless of
+the database you're connecting to. However, the user must install the driver
for
+their database as a separate step. :term:`Driver manifests <driver manifest>`
+are a first step in making this experience better for users but more work is
+planned to make this as straightforward as using driver-specific packages.
-To manually create a connection: first, create a :py:class:`AdbcDatabase`,
-passing ``driver`` and (optionally) ``entrypoint``. ``driver`` must be the
-name of a library to load, or the path to a library to load. ``entrypoint``,
-if provided, should be the name of the symbol that serves as the ADBC
-entrypoint (see :c:type:`AdbcDriverInitFunc`). Then, create a
-:py:class:`AdbcConnection`.
+Low-Level API
+-------------
+
+First, create an :py:class:`AdbcDatabase`, passing ``driver`` and (optionally)
+``entrypoint``. Then, create an :py:class:`AdbcConnection`.
+
+.. note:: See :doc:`../format/driver_manifests` for more information on what
to pass as the ``driver`` argument and how the driver manager finds and loads
drivers.
.. code-block:: python
import adbc_driver_manager
- # You must build/locate the driver yourself
+ # Note: You must install the driver shared library (.so, .dylib, .dll)
+ # separately
with
adbc_driver_manager.AdbcDatabase(driver="PATH/TO/libadbc_driver_sqlite.so") as
db:
with adbc_driver_manager.AdbcConnection(db) as conn:
pass
+Connecting to a second database could be done in the same session using the
same
+code just with a different ``driver`` argument.
+
+DBAPI API
+---------
+
+Use the DBAPI_ API by calling the ``dbapi.connect`` method, passing ``driver``
+and (optionally) ``entrypoint``. These arguments work the same as with the
+low-level API.
+
+.. code-block:: python
+
+ from adbc_driver_manager import dbapi
+
+ # Note: You must install the driver shared library (.so, .dylib, .dll)
+ # separately
+ with dbapi.connect(driver="PATH/TO/libadbc_driver_sqlite.so") as conn:
+ pass
+
+
API Reference
=============
diff --git a/main/_sources/python/quickstart.rst.txt
b/main/_sources/python/quickstart.rst.txt
index 834005dd8..9d6165f2d 100644
--- a/main/_sources/python/quickstart.rst.txt
+++ b/main/_sources/python/quickstart.rst.txt
@@ -31,8 +31,8 @@ Installation
DBAPI (PEP 249)-style API
=========================
-If PyArrow is installed, ADBC provides a high-level API in the style
-of the DBAPI standard.
+If either PyArrow or Polars are installed, ADBC provides a high-level API in
the
+style of the DBAPI standard.
.. testcleanup:: dbapi
diff --git a/main/_sources/rust/driver_manager.rst.txt
b/main/_sources/rust/driver_manager.rst.txt
index 7e0317c0d..3000fc6a0 100644
--- a/main/_sources/rust/driver_manager.rst.txt
+++ b/main/_sources/rust/driver_manager.rst.txt
@@ -19,36 +19,36 @@
Driver Manager
==============
-The driver manager is a library that implements the ADBC API by delegating to
-dynamically-loaded drivers. This allows applications to load drivers at
-runtime, and use drivers that aren't necessarily written in Rust. It is
-currently part of the adbc_core package, though we plan to split it into its
-own package for users who don't want or need FFI.
+This document describes the installation and usage of the Rust :term:`driver
+manager` which is available in the ``adbc_driver_manager`` crate.
Installation
============
.. code-block:: shell
- cargo add adbc_core --features driver_manager
+ cargo add adbc_core adbc_driver_manager
Usage
=====
.. code-block:: rust
- use adbc_core::{Connection, Database, Driver, Statement};
- use adbc_core::options::{AdbcVersion, OptionDatabase};
- use adbc_core::driver_manager::ManagedDriver;
+ use adbc_core::options::AdbcVersion;
+ use adbc_core::{Database, Driver};
+ use adbc_driver_manager::ManagedDriver;
// You must build/locate the driver yourself
let mut driver = ManagedDriver::load_dynamic_from_filename(
"/PATH/TO/libadbc_driver_sqlite.so",
None,
AdbcVersion::default(),
- ).expect("Failed to load driver");
- let db = driver.new_database().expect("Failed to create database handle");
- let mut conn = db.new_connection().expect("Failed to create connection");
+ )
+ .expect("Failed to load driver");
+ let db = driver
+ .new_database()
+ .expect("Failed to create database handle");
+ let mut conn = db.new_connection().expect("Failed to create connection")
API Reference
=============
diff --git a/main/cpp/driver_manager.html b/main/cpp/driver_manager.html
index d399a60cd..cd363836b 100644
--- a/main/cpp/driver_manager.html
+++ b/main/cpp/driver_manager.html
@@ -9,10 +9,10 @@
<meta property="og:type" content="website" />
<meta property="og:url"
content="https://arrow.apache.org/adbc/main/cpp/driver_manager.html" />
<meta property="og:site_name" content="ADBC" />
-<meta property="og:description" content="The driver manager is a library that
implements the ADBC API by delegating to dynamically-loaded drivers. This
allows applications to use multiple drivers simultaneously, and decouple
themselves fr..." />
+<meta property="og:description" content="This document describes the
installation and usage of the C++ driver manager. Installation: Install the
appropriate driver package. You can use conda-forge, apt or dnf. conda-forge:
mamba install a..." />
<meta property="og:image"
content="https://arrow.apache.org/adbc/main/_static/banner.png" />
<meta property="og:image:alt" content="ADBC" />
-<meta name="description" content="The driver manager is a library that
implements the ADBC API by delegating to dynamically-loaded drivers. This
allows applications to use multiple drivers simultaneously, and decouple
themselves fr..." />
+<meta name="description" content="This document describes the installation and
usage of the C++ driver manager. Installation: Install the appropriate driver
package. You can use conda-forge, apt or dnf. conda-forge: mamba install a..."
/>
<link rel="index" title="Index" href="../genindex.html" /><link rel="search"
title="Search" href="../search.html" /><link rel="next" title="Concurrency and
Thread Safety" href="concurrency.html" /><link rel="prev" title="Quickstart"
href="quickstart.html" />
<!-- Generated with Sphinx 8.3.0 and Furo 2024.08.06 -->
@@ -397,10 +397,7 @@
<article role="main" id="furo-main-content">
<section id="driver-manager">
<h1>Driver Manager<a class="headerlink" href="#driver-manager" title="Link to
this heading">¶</a></h1>
-<p>The driver manager is a library that implements the ADBC API by
-delegating to dynamically-loaded drivers. This allows applications to
-use multiple drivers simultaneously, and decouple themselves from the
-specific driver.</p>
+<p>This document describes the installation and usage of the C++ <a
class="reference internal" href="../glossary.html#term-driver-manager"><span
class="xref std std-term">driver manager</span></a>.</p>
<section id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Link to this
heading">¶</a></h2>
<p>Install the appropriate driver package. You can use <a class="reference
external" href="https://conda-forge.org/">conda-forge</a>, <code
class="docutils literal notranslate"><span class="pre">apt</span></code> or
<code class="docutils literal notranslate"><span
class="pre">dnf</span></code>.</p>
diff --git a/main/driver/installation.html b/main/driver/installation.html
index 63a30e4a9..3c410ffc7 100644
--- a/main/driver/installation.html
+++ b/main/driver/installation.html
@@ -493,7 +493,7 @@ sudo<span class="w"> </span>subscription-manager<span
class="w"> </span>repos<sp
<p>Install the appropriate driver package.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
-<p>To use the DBAPI interface, <code class="docutils literal
notranslate"><span class="pre">pyarrow</span></code> is also required.</p>
+<p>To use the DBAPI interface, either <code class="docutils literal
notranslate"><span class="pre">pyarrow</span></code> or <code class="docutils
literal notranslate"><span class="pre">polars</span></code> must be
installed.</p>
</div>
<p>For example, from PyPI:</p>
<ul class="simple">
diff --git a/main/genindex.html b/main/genindex.html
index 85bc3237f..96c9ca4eb 100644
--- a/main/genindex.html
+++ b/main/genindex.html
@@ -818,10 +818,10 @@
</li>
<li><a
href="python/api/adbc_driver_manager.html#adbc_driver_manager.GetObjectsDepth.DB_SCHEMAS">DB_SCHEMAS
(adbc_driver_manager.GetObjectsDepth attribute)</a>
</li>
- </ul></td>
- <td style="width: 33%; vertical-align: top;"><ul>
<li><a
href="python/api/adbc_driver_bigquery.html#adbc_driver_bigquery.StatementOptions.DEFAULT_DATASET_ID">DEFAULT_DATASET_ID
(adbc_driver_bigquery.StatementOptions attribute)</a>
</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
<li><a
href="python/api/adbc_driver_bigquery.html#adbc_driver_bigquery.StatementOptions.DEFAULT_PROJECT_ID">DEFAULT_PROJECT_ID
(adbc_driver_bigquery.StatementOptions attribute)</a>
</li>
<li><a
href="python/api/adbc_driver_manager.html#adbc_driver_manager.dbapi.Cursor.description">description
(adbc_driver_manager.dbapi.Cursor property)</a>
@@ -844,6 +844,8 @@
<li><a href="python/recipe/driver_manager.html#index-1">prepared
statements (recipe)</a>
</li>
</ul></li>
+ <li><a href="glossary.html#term-driver-manifest"><strong>driver
manifest</strong></a>
+</li>
<li><a
href="python/api/adbc_driver_bigquery.html#adbc_driver_bigquery.StatementOptions.DRY_RUN">DRY_RUN
(adbc_driver_bigquery.StatementOptions attribute)</a>
</li>
<li>
diff --git a/main/glossary.html b/main/glossary.html
index 0af5b1419..69da97e23 100644
--- a/main/glossary.html
+++ b/main/glossary.html
@@ -416,15 +416,28 @@ connections.</p>
the ADBC client API and interacts with a PostgreSQL database via the
PostgreSQL wire protocol. The JDBC PostgreSQL driver uses the same wire
protocol, but exposes the JDBC client API instead.</p>
+<p>ADBC drivers can be implemented as libraries in different languages
+including C++, C#, Go, and Rust. A driver can be imported directly into an
+application that’s implemented in the same language, or it can be compiled
+into a shared library (a <code class="docutils literal notranslate"><span
class="pre">.so</span></code> file for Linux, a <code class="docutils literal
notranslate"><span class="pre">.dylib</span></code> file for
+macOS, or a <code class="docutils literal notranslate"><span
class="pre">.dll</span></code> file for Windows) and dynamically loaded into an
+application in any supported language using a <a class="reference internal"
href="#term-driver-manager"><span class="xref std std-term">driver
manager</span></a>.</p>
</dd>
-<dt id="term-driver-manager">driver manager<a class="headerlink"
href="#term-driver-manager" title="Link to this term">¶</a></dt><dd><p>A
library that helps manage multiple drivers for a given client API.
-For example, the JDBC driver manager can find a appropriate driver
-implementation for a database URI.</p>
-<p>The ADBC driver manager in each language is similar. In C/C++, it can
-dynamically load drivers so that applications do not have to directly
-link to them. (Since all drivers expose the same API, their symbols
-would collide otherwise.) In Python, it loads drivers and provides
-Python bindings on top.</p>
+<dt id="term-driver-manager">driver manager<a class="headerlink"
href="#term-driver-manager" title="Link to this term">¶</a></dt><dd><p>A
library for loading and using <a class="reference internal"
href="#term-driver"><span class="xref std std-term">drivers</span></a>. A
driver manager
+implements the ADBC API and delegates to dynamically-loaded drivers. It
+simplifies using multiple drivers in a single application and makes it
+possible to use drivers written in any language, regardless of the language
+the application is written in.</p>
+<p>The driver manager in each language is similar. In C/C++, it can
+dynamically load drivers so that applications do not have to directly link
+to them. (Since all drivers expose the same API, their symbols would
+collide otherwise.) In Python, it loads drivers and provides Python
+bindings on top.</p>
+</dd>
+<dt id="term-driver-manifest">driver manifest<a class="headerlink"
href="#term-driver-manifest" title="Link to this term">¶</a></dt><dd><p>A file
(in TOML format) describing a <a class="reference internal"
href="#term-driver"><span class="xref std std-term">driver</span></a>. This
file’s structure
+is part of the ADBC <a class="reference internal"
href="format/specification.html"><span class="doc">specification</span></a>. A
+<a class="reference internal" href="#term-driver-manager"><span class="xref
std std-term">driver manager</span></a> can load a driver from a which
simplifies the
+process for users.</p>
</dd>
<dt id="term-statement">statement<a class="headerlink" href="#term-statement"
title="Link to this term">¶</a></dt><dd><p>In ADBC, the statement object/struct
holds state for executing a single
query. The query itself, bind parameters, result sets, and so on are all
diff --git a/main/java/driver_manager.html b/main/java/driver_manager.html
index 49d69f419..e2c37ba59 100644
--- a/main/java/driver_manager.html
+++ b/main/java/driver_manager.html
@@ -9,10 +9,10 @@
<meta property="og:type" content="website" />
<meta property="og:url"
content="https://arrow.apache.org/adbc/main/java/driver_manager.html" />
<meta property="og:site_name" content="ADBC" />
-<meta property="og:description" content="Installation: To include the ADBC
Driver Manager in your Maven project, add the following dependency: API
Reference: See the API reference." />
+<meta property="og:description" content="This document describes the
installation of the Java driver manager. Installation: To include the ADBC
Driver Manager in your Maven project, add the following dependency: API
Reference: See the API..." />
<meta property="og:image"
content="https://arrow.apache.org/adbc/main/_static/banner.png" />
<meta property="og:image:alt" content="ADBC" />
-<meta name="description" content="Installation: To include the ADBC Driver
Manager in your Maven project, add the following dependency: API Reference: See
the API reference." />
+<meta name="description" content="This document describes the installation of
the Java driver manager. Installation: To include the ADBC Driver Manager in
your Maven project, add the following dependency: API Reference: See the
API..." />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search"
title="Search" href="../search.html" /><link rel="next" title="Java API
Reference" href="api/index.html" /><link rel="prev" title="Quickstart"
href="quickstart.html" />
<!-- Generated with Sphinx 8.3.0 and Furo 2024.08.06 -->
@@ -397,6 +397,7 @@
<article role="main" id="furo-main-content">
<section id="driver-manager">
<h1>Driver Manager<a class="headerlink" href="#driver-manager" title="Link to
this heading">¶</a></h1>
+<p>This document describes the installation of the Java <a class="reference
internal" href="../glossary.html#term-driver-manager"><span class="xref std
std-term">driver manager</span></a>.</p>
<section id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Link to this
heading">¶</a></h2>
<p>To include the ADBC Driver Manager in your Maven project, add the following
dependency:</p>
diff --git a/main/objects.inv b/main/objects.inv
index a56cdb324..ab31780c4 100644
Binary files a/main/objects.inv and b/main/objects.inv differ
diff --git a/main/python/driver_manager.html b/main/python/driver_manager.html
index 1050b5e11..364aadb41 100644
--- a/main/python/driver_manager.html
+++ b/main/python/driver_manager.html
@@ -9,10 +9,10 @@
<meta property="og:type" content="website" />
<meta property="og:url"
content="https://arrow.apache.org/adbc/main/python/driver_manager.html" />
<meta property="og:site_name" content="ADBC" />
-<meta property="og:description" content="The driver manager is a library that
provides bindings to the ADBC C API. It delegates to dynamically-loaded
drivers. This allows applications to use multiple drivers simultaneously, and
decouple t..." />
+<meta property="og:description" content="The adbc_driver_manager package
provides a driver manager interface for Python. The package provides two APIs:
Low-level bindings that are essentially the same as the C API., If PyArrow or
Polars a..." />
<meta property="og:image"
content="https://arrow.apache.org/adbc/main/_static/banner.png" />
<meta property="og:image:alt" content="ADBC" />
-<meta name="description" content="The driver manager is a library that
provides bindings to the ADBC C API. It delegates to dynamically-loaded
drivers. This allows applications to use multiple drivers simultaneously, and
decouple t..." />
+<meta name="description" content="The adbc_driver_manager package provides a
driver manager interface for Python. The package provides two APIs: Low-level
bindings that are essentially the same as the C API., If PyArrow or Polars
a..." />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search"
title="Search" href="../search.html" /><link rel="next" title="Python API
Reference" href="api/index.html" /><link rel="prev" title="Quickstart"
href="quickstart.html" />
<!-- Generated with Sphinx 8.3.0 and Furo 2024.08.06 -->
@@ -397,14 +397,12 @@
<article role="main" id="furo-main-content">
<section id="driver-manager">
<h1>Driver Manager<a class="headerlink" href="#driver-manager" title="Link to
this heading">¶</a></h1>
-<p>The driver manager is a library that provides bindings to the ADBC C
-API. It delegates to dynamically-loaded drivers. This allows
-applications to use multiple drivers simultaneously, and decouple
-themselves from the specific driver.</p>
-<p>The Python driver manager provides both low-level bindings that are
-essentially the same as the C API. If PyArrow is installed, it also
-provides high-level bindings that implement the <a class="reference external"
href="https://peps.python.org/pep-0249/">DBAPI</a> (PEP 249)
-standard.</p>
+<p>The <code class="docutils literal notranslate"><span
class="pre">adbc_driver_manager</span></code> package provides a <a
class="reference internal" href="../glossary.html#term-driver-manager"><span
class="xref std std-term">driver manager</span></a> interface
+for Python. The package provides two APIs:</p>
+<ol class="arabic simple">
+<li><p>Low-level bindings that are essentially the same as the <a
class="reference internal" href="../format/specification.html"><span
class="doc">C API</span></a>.</p></li>
+<li><p>If PyArrow or Polars are installed, a <a class="reference external"
href="https://peps.python.org/pep-0249/">DBAPI</a> (PEP 249) compliant
interface.</p></li>
+</ol>
<section id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Link to this
heading">¶</a></h2>
<div class="highlight-shell notranslate"><div
class="highlight"><pre><span></span>pip<span class="w"> </span>install<span
class="w"> </span>adbc_driver_manager
@@ -413,34 +411,52 @@ standard.</p>
</section>
<section id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Link to this
heading">¶</a></h2>
-<div class="admonition warning">
-<p class="admonition-title">Warning</p>
-<p>This API is for low level usage only. <strong>You almost certainly
-should not use this</strong>, instead use the entrypoints provided by
-driver packages, for example:</p>
-<ul class="simple">
-<li><p><a class="reference internal"
href="api/adbc_driver_sqlite.html#adbc_driver_sqlite.dbapi.connect"
title="adbc_driver_sqlite.dbapi.connect"><code class="xref py py-func docutils
literal notranslate"><span
class="pre">adbc_driver_sqlite.dbapi.connect()</span></code></a></p></li>
-<li><p><a class="reference internal"
href="api/adbc_driver_sqlite.html#adbc_driver_sqlite.connect"
title="adbc_driver_sqlite.connect"><code class="xref py py-func docutils
literal notranslate"><span
class="pre">adbc_driver_sqlite.connect()</span></code></a></p></li>
-</ul>
+<p>The driver manager is different from the individual, driver-specific
packages
+such as <code class="docutils literal notranslate"><span
class="pre">adbc_driver_postgresql</span></code>.</p>
+<p>With the driver-specific packages, you connect to the target database with
the
+<code class="docutils literal notranslate"><span
class="pre">connect</span></code> method provided by the package you’re using.
For example,
+<a class="reference internal"
href="api/adbc_driver_postgresql.html#adbc_driver_postgresql.connect"
title="adbc_driver_postgresql.connect"><code class="xref py py-func docutils
literal notranslate"><span
class="pre">adbc_driver_postgresql.connect()</span></code></a> or <a
class="reference internal"
href="api/adbc_driver_sqlite.html#adbc_driver_sqlite.connect"
title="adbc_driver_sqlite.connect"><code class="xref py py-func docutils
literal notranslate"><span class="pre">adbc_driver_sqlite [...]
+The driver shared library is bundled with the respective package and loaded
+invisibly for the user.</p>
+<p>With the driver manager package, you use a single package and API
regardless of
+the database you’re connecting to. However, the user must install the driver
for
+their database as a separate step. <a class="reference internal"
href="../glossary.html#term-driver-manifest"><span class="xref std
std-term">Driver manifests</span></a>
+are a first step in making this experience better for users but more work is
+planned to make this as straightforward as using driver-specific packages.</p>
+<section id="low-level-api">
+<h3>Low-Level API<a class="headerlink" href="#low-level-api" title="Link to
this heading">¶</a></h3>
+<p>First, create an <a class="reference internal"
href="api/adbc_driver_manager.html#adbc_driver_manager.AdbcDatabase"
title="adbc_driver_manager.AdbcDatabase"><code class="xref py py-class docutils
literal notranslate"><span class="pre">AdbcDatabase</span></code></a>, passing
<code class="docutils literal notranslate"><span
class="pre">driver</span></code> and (optionally)
+<code class="docutils literal notranslate"><span
class="pre">entrypoint</span></code>. Then, create an <a class="reference
internal"
href="api/adbc_driver_manager.html#adbc_driver_manager.AdbcConnection"
title="adbc_driver_manager.AdbcConnection"><code class="xref py py-class
docutils literal notranslate"><span
class="pre">AdbcConnection</span></code></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>See <a class="reference internal"
href="../format/driver_manifests.html"><span class="doc">ADBC Driver Manager
and Manifests</span></a> for more information on what to pass as the <code
class="docutils literal notranslate"><span class="pre">driver</span></code>
argument and how the driver manager finds and loads drivers.</p>
</div>
-<p>The Python bindings for each driver abstract the steps here for you behind a
-convenient <code class="docutils literal notranslate"><span
class="pre">connect</span></code> function. For example, prefer
-<a class="reference internal"
href="api/adbc_driver_sqlite.html#adbc_driver_sqlite.connect"
title="adbc_driver_sqlite.connect"><code class="xref py py-func docutils
literal notranslate"><span
class="pre">adbc_driver_sqlite.connect()</span></code></a> or <a
class="reference internal"
href="api/adbc_driver_postgresql.html#adbc_driver_postgresql.connect"
title="adbc_driver_postgresql.connect"><code class="xref py py-func docutils
literal notranslate"><span class="pre">adbc_driver_postgresql [...]
-to manually constructing the connection as demonstrated here.</p>
-<p>To manually create a connection: first, create a <a class="reference
internal" href="api/adbc_driver_manager.html#adbc_driver_manager.AdbcDatabase"
title="adbc_driver_manager.AdbcDatabase"><code class="xref py py-class docutils
literal notranslate"><span class="pre">AdbcDatabase</span></code></a>,
-passing <code class="docutils literal notranslate"><span
class="pre">driver</span></code> and (optionally) <code class="docutils literal
notranslate"><span class="pre">entrypoint</span></code>. <code class="docutils
literal notranslate"><span class="pre">driver</span></code> must be the
-name of a library to load, or the path to a library to load. <code
class="docutils literal notranslate"><span class="pre">entrypoint</span></code>,
-if provided, should be the name of the symbol that serves as the ADBC
-entrypoint (see <a class="reference external"
href="https://arrow.apache.org/adbc/main/cpp/api/group__adbc-driver.html#ga5fb0507a84a8d440448d1c6b5cb0d1db"
title="(in ADBC C vversion)"><code class="xref c c-type docutils literal
notranslate"><span class="pre">AdbcDriverInitFunc</span></code></a>). Then,
create a
-<a class="reference internal"
href="api/adbc_driver_manager.html#adbc_driver_manager.AdbcConnection"
title="adbc_driver_manager.AdbcConnection"><code class="xref py py-class
docutils literal notranslate"><span
class="pre">AdbcConnection</span></code></a>.</p>
<div class="highlight-python notranslate"><div
class="highlight"><pre><span></span><span class="kn">import</span><span
class="w"> </span><span class="nn">adbc_driver_manager</span>
-<span class="c1"># You must build/locate the driver yourself</span>
+<span class="c1"># Note: You must install the driver shared library (.so,
.dylib, .dll)</span>
+<span class="c1"># separately</span>
<span class="k">with</span> <span class="n">adbc_driver_manager</span><span
class="o">.</span><span class="n">AdbcDatabase</span><span
class="p">(</span><span class="n">driver</span><span class="o">=</span><span
class="s2">"PATH/TO/libadbc_driver_sqlite.so"</span><span
class="p">)</span> <span class="k">as</span> <span class="n">db</span><span
class="p">:</span>
<span class="k">with</span> <span
class="n">adbc_driver_manager</span><span class="o">.</span><span
class="n">AdbcConnection</span><span class="p">(</span><span
class="n">db</span><span class="p">)</span> <span class="k">as</span> <span
class="n">conn</span><span class="p">:</span>
<span class="k">pass</span>
</pre></div>
</div>
+<p>Connecting to a second database could be done in the same session using the
same
+code just with a different <code class="docutils literal notranslate"><span
class="pre">driver</span></code> argument.</p>
+</section>
+<section id="dbapi-api">
+<h3>DBAPI API<a class="headerlink" href="#dbapi-api" title="Link to this
heading">¶</a></h3>
+<p>Use the <a class="reference external"
href="https://peps.python.org/pep-0249/">DBAPI</a> API by calling the <code
class="docutils literal notranslate"><span
class="pre">dbapi.connect</span></code> method, passing <code class="docutils
literal notranslate"><span class="pre">driver</span></code>
+and (optionally) <code class="docutils literal notranslate"><span
class="pre">entrypoint</span></code>. These arguments work the same as with the
+low-level API.</p>
+<div class="highlight-python notranslate"><div
class="highlight"><pre><span></span><span class="kn">from</span><span
class="w"> </span><span class="nn">adbc_driver_manager</span><span class="w">
</span><span class="kn">import</span> <span class="n">dbapi</span>
+
+<span class="c1"># Note: You must install the driver shared library (.so,
.dylib, .dll)</span>
+<span class="c1"># separately</span>
+<span class="k">with</span> <span class="n">dbapi</span><span
class="o">.</span><span class="n">connect</span><span class="p">(</span><span
class="n">driver</span><span class="o">=</span><span
class="s2">"PATH/TO/libadbc_driver_sqlite.so"</span><span
class="p">)</span> <span class="k">as</span> <span class="n">conn</span><span
class="p">:</span>
+ <span class="k">pass</span>
+</pre></div>
+</div>
+</section>
</section>
<section id="api-reference">
<h2>API Reference<a class="headerlink" href="#api-reference" title="Link to
this heading">¶</a></h2>
@@ -508,7 +524,11 @@ United States and other countries.
<ul>
<li><a class="reference internal" href="#">Driver Manager</a><ul>
<li><a class="reference internal" href="#installation">Installation</a></li>
-<li><a class="reference internal" href="#usage">Usage</a></li>
+<li><a class="reference internal" href="#usage">Usage</a><ul>
+<li><a class="reference internal" href="#low-level-api">Low-Level API</a></li>
+<li><a class="reference internal" href="#dbapi-api">DBAPI API</a></li>
+</ul>
+</li>
<li><a class="reference internal" href="#api-reference">API Reference</a></li>
</ul>
</li>
diff --git a/main/python/quickstart.html b/main/python/quickstart.html
index 26c4e4e4a..c968588a5 100644
--- a/main/python/quickstart.html
+++ b/main/python/quickstart.html
@@ -9,10 +9,10 @@
<meta property="og:type" content="website" />
<meta property="og:url"
content="https://arrow.apache.org/adbc/main/python/quickstart.html" />
<meta property="og:site_name" content="ADBC" />
-<meta property="og:description" content="Here we’ll briefly tour basic
features of ADBC with the SQLite driver. Installation: DBAPI (PEP 249)-style
API: If PyArrow is installed, ADBC provides a high-level API in the style of
the DBAPI sta..." />
+<meta property="og:description" content="Here we’ll briefly tour basic
features of ADBC with the SQLite driver. Installation: DBAPI (PEP 249)-style
API: If either PyArrow or Polars are installed, ADBC provides a high-level API
in the styl..." />
<meta property="og:image"
content="https://arrow.apache.org/adbc/main/_static/banner.png" />
<meta property="og:image:alt" content="ADBC" />
-<meta name="description" content="Here we’ll briefly tour basic features of
ADBC with the SQLite driver. Installation: DBAPI (PEP 249)-style API: If
PyArrow is installed, ADBC provides a high-level API in the style of the DBAPI
sta..." />
+<meta name="description" content="Here we’ll briefly tour basic features of
ADBC with the SQLite driver. Installation: DBAPI (PEP 249)-style API: If either
PyArrow or Polars are installed, ADBC provides a high-level API in the styl..."
/>
<link rel="index" title="Index" href="../genindex.html" /><link rel="search"
title="Search" href="../search.html" /><link rel="next" title="Driver Manager"
href="driver_manager.html" /><link rel="prev" title="Python" href="index.html"
/>
<!-- Generated with Sphinx 8.3.0 and Furo 2024.08.06 -->
@@ -406,8 +406,8 @@
</section>
<section id="dbapi-pep-249-style-api">
<h2>DBAPI (PEP 249)-style API<a class="headerlink"
href="#dbapi-pep-249-style-api" title="Link to this heading">¶</a></h2>
-<p>If PyArrow is installed, ADBC provides a high-level API in the style
-of the DBAPI standard.</p>
+<p>If either PyArrow or Polars are installed, ADBC provides a high-level API
in the
+style of the DBAPI standard.</p>
<section id="creating-a-connection">
<h3>Creating a Connection<a class="headerlink" href="#creating-a-connection"
title="Link to this heading">¶</a></h3>
<div class="highlight-pycon notranslate"><div
class="highlight"><pre><span></span><span class="gp">>>> </span><span
class="kn">import</span><span class="w"> </span><span
class="nn">adbc_driver_sqlite.dbapi</span>
diff --git a/main/r/adbcbigquery/pkgdown.yml b/main/r/adbcbigquery/pkgdown.yml
index 880d96b42..06a23d755 100644
--- a/main/r/adbcbigquery/pkgdown.yml
+++ b/main/r/adbcbigquery/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.2
pkgdown: 2.1.3
pkgdown_sha: ~
articles: {}
-last_built: 2025-09-05T00:17Z
+last_built: 2025-09-05T00:42Z
urls:
reference: https://arrow.apache.org/adbc/current/r/adbcbigquery/reference
article: https://arrow.apache.org/adbc/current/r/adbcbigquery/articles
diff --git a/main/r/adbcdrivermanager/pkgdown.yml
b/main/r/adbcdrivermanager/pkgdown.yml
index a2e155e29..4a564cffa 100644
--- a/main/r/adbcdrivermanager/pkgdown.yml
+++ b/main/r/adbcdrivermanager/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.2
pkgdown: 2.1.3
pkgdown_sha: ~
articles: {}
-last_built: 2025-09-05T00:17Z
+last_built: 2025-09-05T00:42Z
urls:
reference:
https://arrow.apache.org/adbc/current/r/adbcdrivermanager/reference
article: https://arrow.apache.org/adbc/current/r/adbcdrivermanager/articles
diff --git a/main/r/adbcdrivermanager/reference/adbc_connection_init.html
b/main/r/adbcdrivermanager/reference/adbc_connection_init.html
index d1e2189bb..d8a7efa98 100644
--- a/main/r/adbcdrivermanager/reference/adbc_connection_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_connection_init.html
@@ -105,9 +105,9 @@ finer-grained control over behaviour at the R
level.</p></dd>
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor"
href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span
class="r-in"><span><span class="va">db</span> <span class="op"><-</span>
<span class="fu"><a
href="adbc_database_init.html">adbc_database_init</a></span><span
class="op">(</span><span class="fu"><a
href="adbc_driver_void.html">adbc_driver_void</a></span><span
class="op">(</span><span class="op">)</span><span
class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">adbc_connection_init</span><span
class="op">(</span><span class="va">db</span><span
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#></span> <adbc_connection at
0x5639fa76dcc0> </span>
+<span class="r-out co"><span class="r-pr">#></span> <adbc_connection at
0x55bd07529830> </span>
<span class="r-out co"><span class="r-pr">#></span> List of 1</span>
-<span class="r-out co"><span class="r-pr">#></span> $
database:<adbc_database at 0x5639fa1a2040> </span>
+<span class="r-out co"><span class="r-pr">#></span> $
database:<adbc_database at 0x55bd06598b40> </span>
<span class="r-out co"><span class="r-pr">#></span> List of 1</span>
<span class="r-out co"><span class="r-pr">#></span> ..$
driver:<adbc_driver_void> List of 4</span>
<span class="r-out co"><span class="r-pr">#></span> .. ..$ load_flags
: int 15</span>
diff --git a/main/r/adbcdrivermanager/reference/adbc_database_init.html
b/main/r/adbcdrivermanager/reference/adbc_database_init.html
index c2c7f923a..be2821c25 100644
--- a/main/r/adbcdrivermanager/reference/adbc_database_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_database_init.html
@@ -104,7 +104,7 @@ finer-grained control over behaviour at the R
level.</p></dd>
<div class="section level2">
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor"
href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span
class="r-in"><span><span class="fu">adbc_database_init</span><span
class="op">(</span><span class="fu"><a
href="adbc_driver_void.html">adbc_driver_void</a></span><span
class="op">(</span><span class="op">)</span><span
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#></span> <adbc_database at
0x5639fab35310> </span>
+<span class="r-out co"><span class="r-pr">#></span> <adbc_database at
0x55bd072beec0> </span>
<span class="r-out co"><span class="r-pr">#></span> List of 1</span>
<span class="r-out co"><span class="r-pr">#></span> $
driver:<adbc_driver_void> List of 4</span>
<span class="r-out co"><span class="r-pr">#></span> ..$ load_flags :
int 15</span>
diff --git a/main/r/adbcdrivermanager/reference/adbc_statement_init.html
b/main/r/adbcdrivermanager/reference/adbc_statement_init.html
index 8c10ebbe2..abe496a4a 100644
--- a/main/r/adbcdrivermanager/reference/adbc_statement_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_statement_init.html
@@ -106,11 +106,11 @@ finer-grained control over behaviour at the R
level.</p></dd>
<div class="sourceCode"><pre class="sourceCode r"><code><span
class="r-in"><span><span class="va">db</span> <span class="op"><-</span>
<span class="fu"><a
href="adbc_database_init.html">adbc_database_init</a></span><span
class="op">(</span><span class="fu"><a
href="adbc_driver_void.html">adbc_driver_void</a></span><span
class="op">(</span><span class="op">)</span><span
class="op">)</span></span></span>
<span class="r-in"><span><span class="va">con</span> <span
class="op"><-</span> <span class="fu"><a
href="adbc_connection_init.html">adbc_connection_init</a></span><span
class="op">(</span><span class="va">db</span><span
class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">adbc_statement_init</span><span
class="op">(</span><span class="va">con</span><span
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#></span> <adbc_statement at
0x5639fa740100> </span>
+<span class="r-out co"><span class="r-pr">#></span> <adbc_statement at
0x55bd06b58600> </span>
<span class="r-out co"><span class="r-pr">#></span> List of 1</span>
-<span class="r-out co"><span class="r-pr">#></span> $
connection:<adbc_connection at 0x5639f76710c0> </span>
+<span class="r-out co"><span class="r-pr">#></span> $
connection:<adbc_connection at 0x55bd072265b0> </span>
<span class="r-out co"><span class="r-pr">#></span> List of 1</span>
-<span class="r-out co"><span class="r-pr">#></span> ..$
database:<adbc_database at 0x5639fa4f3720> </span>
+<span class="r-out co"><span class="r-pr">#></span> ..$
database:<adbc_database at 0x55bd07371d20> </span>
<span class="r-out co"><span class="r-pr">#></span> List of 1</span>
<span class="r-out co"><span class="r-pr">#></span> .. ..$
driver:<adbc_driver_void> List of 4</span>
<span class="r-out co"><span class="r-pr">#></span> .. .. ..$ load_flags
: int 15</span>
diff --git a/main/r/adbcdrivermanager/search.json
b/main/r/adbcdrivermanager/search.json
index fb20728e6..9d124227e 100644
--- a/main/r/adbcdrivermanager/search.json
+++ b/main/r/adbcdrivermanager/search.json
@@ -1 +1 @@
-[{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
License","title":"Apache License","text":"Version 2.0, January 2004
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms
and Conditions for use, reproduction, and distribution","what":"1.
Definitions","title [...]
+[{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
License","title":"Apache License","text":"Version 2.0, January 2004
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"https://arrow.apache.org/adbc/current/r/adbcdrivermanager/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms
and Conditions for use, reproduction, and distribution","what":"1.
Definitions","title [...]
diff --git a/main/r/adbcflightsql/pkgdown.yml b/main/r/adbcflightsql/pkgdown.yml
index 23057c176..4a36b1487 100644
--- a/main/r/adbcflightsql/pkgdown.yml
+++ b/main/r/adbcflightsql/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.2
pkgdown: 2.1.3
pkgdown_sha: ~
articles: {}
-last_built: 2025-09-05T00:17Z
+last_built: 2025-09-05T00:42Z
urls:
reference: https://arrow.apache.org/adbc/current/r/adbcflightsql/reference
article: https://arrow.apache.org/adbc/current/r/adbcflightsql/articles
diff --git a/main/r/adbcpostgresql/pkgdown.yml
b/main/r/adbcpostgresql/pkgdown.yml
index 0fb6d219e..488c9cdc6 100644
--- a/main/r/adbcpostgresql/pkgdown.yml
+++ b/main/r/adbcpostgresql/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.2
pkgdown: 2.1.3
pkgdown_sha: ~
articles: {}
-last_built: 2025-09-05T00:17Z
+last_built: 2025-09-05T00:42Z
urls:
reference: https://arrow.apache.org/adbc/current/r/adbcpostgresql/reference
article: https://arrow.apache.org/adbc/current/r/adbcpostgresql/articles
diff --git a/main/r/adbcsnowflake/pkgdown.yml b/main/r/adbcsnowflake/pkgdown.yml
index 4ba68e895..bd327ee92 100644
--- a/main/r/adbcsnowflake/pkgdown.yml
+++ b/main/r/adbcsnowflake/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.2
pkgdown: 2.1.3
pkgdown_sha: ~
articles: {}
-last_built: 2025-09-05T00:17Z
+last_built: 2025-09-05T00:42Z
urls:
reference: https://arrow.apache.org/adbc/current/r/adbcsnowflake/reference
article: https://arrow.apache.org/adbc/current/r/adbcsnowflake/articles
diff --git a/main/r/adbcsqlite/pkgdown.yml b/main/r/adbcsqlite/pkgdown.yml
index 51bea28d1..26f8b2baf 100644
--- a/main/r/adbcsqlite/pkgdown.yml
+++ b/main/r/adbcsqlite/pkgdown.yml
@@ -2,7 +2,7 @@ pandoc: 3.7.0.2
pkgdown: 2.1.3
pkgdown_sha: ~
articles: {}
-last_built: 2025-09-05T00:17Z
+last_built: 2025-09-05T00:42Z
urls:
reference: https://arrow.apache.org/adbc/current/r/adbcsqlite/reference
article: https://arrow.apache.org/adbc/current/r/adbcsqlite/articles
diff --git a/main/rust/driver_manager.html b/main/rust/driver_manager.html
index 53991bbb5..8d27336ed 100644
--- a/main/rust/driver_manager.html
+++ b/main/rust/driver_manager.html
@@ -9,10 +9,10 @@
<meta property="og:type" content="website" />
<meta property="og:url"
content="https://arrow.apache.org/adbc/main/rust/driver_manager.html" />
<meta property="og:site_name" content="ADBC" />
-<meta property="og:description" content="The driver manager is a library that
implements the ADBC API by delegating to dynamically-loaded drivers. This
allows applications to load drivers at runtime, and use drivers that aren’t
necessaril..." />
+<meta property="og:description" content="This document describes the
installation and usage of the Rust driver manager which is available in the
adbc_driver_manager crate. Installation: Usage: API Reference: See the API
reference: Module ..." />
<meta property="og:image"
content="https://arrow.apache.org/adbc/main/_static/banner.png" />
<meta property="og:image:alt" content="ADBC" />
-<meta name="description" content="The driver manager is a library that
implements the ADBC API by delegating to dynamically-loaded drivers. This
allows applications to load drivers at runtime, and use drivers that aren’t
necessaril..." />
+<meta name="description" content="This document describes the installation and
usage of the Rust driver manager which is available in the adbc_driver_manager
crate. Installation: Usage: API Reference: See the API reference: Module ..." />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search"
title="Search" href="../search.html" /><link rel="next" title="Installation"
href="../driver/installation.html" /><link rel="prev" title="Quickstart"
href="quickstart.html" />
<!-- Generated with Sphinx 8.3.0 and Furo 2024.08.06 -->
@@ -397,31 +397,31 @@
<article role="main" id="furo-main-content">
<section id="driver-manager">
<h1>Driver Manager<a class="headerlink" href="#driver-manager" title="Link to
this heading">¶</a></h1>
-<p>The driver manager is a library that implements the ADBC API by delegating
to
-dynamically-loaded drivers. This allows applications to load drivers at
-runtime, and use drivers that aren’t necessarily written in Rust. It is
-currently part of the adbc_core package, though we plan to split it into its
-own package for users who don’t want or need FFI.</p>
+<p>This document describes the installation and usage of the Rust <a
class="reference internal" href="../glossary.html#term-driver-manager"><span
class="xref std std-term">driver
+manager</span></a> which is available in the <code class="docutils literal
notranslate"><span class="pre">adbc_driver_manager</span></code> crate.</p>
<section id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Link to this
heading">¶</a></h2>
-<div class="highlight-shell notranslate"><div
class="highlight"><pre><span></span>cargo<span class="w"> </span>add<span
class="w"> </span>adbc_core<span class="w"> </span>--features<span class="w">
</span>driver_manager
+<div class="highlight-shell notranslate"><div
class="highlight"><pre><span></span>cargo<span class="w"> </span>add<span
class="w"> </span>adbc_core<span class="w"> </span>adbc_driver_manager
</pre></div>
</div>
</section>
<section id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Link to this
heading">¶</a></h2>
-<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="k">use</span><span class="w">
</span><span class="n">adbc_core</span><span class="p">::{</span><span
class="n">Connection</span><span class="p">,</span><span class="w">
</span><span class="n">Database</span><span class="p">,</span><span class="w">
</span><span class="n">Driver</span><span class="p">,</span><span class="w">
</span><span class="n">Statement</span><span class="p">};</span>
-<span class="k">use</span><span class="w"> </span><span
class="n">adbc_core</span><span class="p">::</span><span
class="n">options</span><span class="p">::{</span><span
class="n">AdbcVersion</span><span class="p">,</span><span class="w">
</span><span class="n">OptionDatabase</span><span class="p">};</span>
-<span class="k">use</span><span class="w"> </span><span
class="n">adbc_core</span><span class="p">::</span><span
class="n">driver_manager</span><span class="p">::</span><span
class="n">ManagedDriver</span><span class="p">;</span>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="k">use</span><span class="w">
</span><span class="n">adbc_core</span><span class="p">::</span><span
class="n">options</span><span class="p">::</span><span
class="n">AdbcVersion</span><span class="p">;</span>
+<span class="k">use</span><span class="w"> </span><span
class="n">adbc_core</span><span class="p">::{</span><span
class="n">Database</span><span class="p">,</span><span class="w"> </span><span
class="n">Driver</span><span class="p">};</span>
+<span class="k">use</span><span class="w"> </span><span
class="n">adbc_driver_manager</span><span class="p">::</span><span
class="n">ManagedDriver</span><span class="p">;</span>
<span class="c1">// You must build/locate the driver yourself</span>
<span class="kd">let</span><span class="w"> </span><span
class="k">mut</span><span class="w"> </span><span class="n">driver</span><span
class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="n">ManagedDriver</span><span class="p">::</span><span
class="n">load_dynamic_from_filename</span><span class="p">(</span>
<span class="w"> </span><span
class="s">"/PATH/TO/libadbc_driver_sqlite.so"</span><span
class="p">,</span>
<span class="w"> </span><span class="nb">None</span><span class="p">,</span>
<span class="w"> </span><span class="n">AdbcVersion</span><span
class="p">::</span><span class="n">default</span><span class="p">(),</span>
-<span class="p">).</span><span class="n">expect</span><span
class="p">(</span><span class="s">"Failed to load driver"</span><span
class="p">);</span>
-<span class="kd">let</span><span class="w"> </span><span
class="n">db</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="n">driver</span><span class="p">.</span><span
class="n">new_database</span><span class="p">().</span><span
class="n">expect</span><span class="p">(</span><span class="s">"Failed to
create database handle"</span><span class="p">);</span>
-<span class="kd">let</span><span class="w"> </span><span
class="k">mut</span><span class="w"> </span><span class="n">conn</span><span
class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="n">db</span><span class="p">.</span><span
class="n">new_connection</span><span class="p">().</span><span
class="n">expect</span><span class="p">(</span><span class="s">"Failed to
create connection"</span><span class="p">);</span>
+<span class="p">)</span>
+<span class="p">.</span><span class="n">expect</span><span
class="p">(</span><span class="s">"Failed to load driver"</span><span
class="p">);</span>
+<span class="kd">let</span><span class="w"> </span><span
class="n">db</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="n">driver</span>
+<span class="w"> </span><span class="p">.</span><span
class="n">new_database</span><span class="p">()</span>
+<span class="w"> </span><span class="p">.</span><span
class="n">expect</span><span class="p">(</span><span class="s">"Failed to
create database handle"</span><span class="p">);</span>
+<span class="kd">let</span><span class="w"> </span><span
class="k">mut</span><span class="w"> </span><span class="n">conn</span><span
class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="n">db</span><span class="p">.</span><span
class="n">new_connection</span><span class="p">().</span><span
class="n">expect</span><span class="p">(</span><span class="s">"Failed to
create connection"</span><span class="p">)</span>
</pre></div>
</div>
</section>
diff --git a/main/searchindex.js b/main/searchindex.js
index 2a59498b7..ac16f9c61 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"ADBC API Standard":[[26,null]],"ADBC Driver
Manager and Manifests":[[23,null]],"API
Reference":[[3,"api-reference"],[31,"api-reference"],[41,"api-reference"],[50,"api-reference"]],"And
then what is the \u201cADBC JDBC
driver\u201d?":[[21,"and-then-what-is-the-adbc-jdbc-driver"]],"Apache Arrow
ADBC":[[29,null]],"Arrow type to PostgreSQL type
mapping":[[17,"id5"]],"Authenticate with a username and
password":[[47,"authenticate-with-a-username-and-password"]]," [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"ADBC API Standard":[[26,null]],"ADBC Driver
Manager and Manifests":[[23,null]],"API
Reference":[[3,"api-reference"],[31,"api-reference"],[41,"api-reference"],[50,"api-reference"]],"And
then what is the \u201cADBC JDBC
driver\u201d?":[[21,"and-then-what-is-the-adbc-jdbc-driver"]],"Apache Arrow
ADBC":[[29,null]],"Arrow type to PostgreSQL type
mapping":[[17,"id5"]],"Authenticate with a username and
password":[[47,"authenticate-with-a-username-and-password"]]," [...]
\ No newline at end of file