lidavidm commented on code in PR #4525: URL: https://github.com/apache/arrow-adbc/pull/4525#discussion_r3599527067
########## docs/source/driver/index.rst: ########## @@ -0,0 +1,281 @@ +.. Licensed to the Apache Software Foundation (ASF) under one +.. or more contributor license agreements. See the NOTICE file +.. distributed with this work for additional information +.. regarding copyright ownership. The ASF licenses this file +.. to you under the Apache License, Version 2.0 (the +.. "License"); you may not use this file except in compliance +.. with the License. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, +.. software distributed under the License is distributed on an +.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +.. KIND, either express or implied. See the License for the +.. specific language governing permissions and limitations +.. under the License. + +======= +Drivers +======= + +.. |click-for-docs| raw:: html + + <span class="th-hint">(click for docs)</span> + +.. |click-for-readme| raw:: html + + <span class="th-hint">(click for README)</span> + +An ADBC driver lets you connect to a database, run queries, and exchange data in +Arrow format. + +.. _driver-table: + +Available drivers +================= + +ADBC drivers are typically built, distributed, and used as **shared libraries** +(``.so``, ``.dll``, or ``.dylib`` files). One shared library works from any +language. An application uses an +:doc:`ADBC client library <../client_libraries>` to dynamically load the driver +at runtime, no matter which language the driver was written in. Every +driver in the table below is packaged this way. + +.. list-table:: + :header-rows: 1 + :widths: 38 22 22 18 + :class: driver-table driver-table-main + + * - Driver for |click-for-docs| + - Slug [#slug]_ + - Maintainer [#maintainer]_ + - Repo + * - `BigQuery <https://docs.adbc-drivers.org/drivers/bigquery/>`__ + - ``bigquery`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/bigquery|GitHub repository` + * - `ClickHouse <https://docs.adbc-drivers.org/drivers/clickhouse/>`__ + - ``clickhouse`` + - Vendor + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/clickhouse|GitHub repository` + * - `Databricks <https://docs.adbc-drivers.org/drivers/databricks/>`__ + - ``databricks`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/databricks|GitHub repository` + * - `Apache DataFusion <https://docs.adbc-drivers.org/drivers/datafusion/>`__ + - ``datafusion`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/datafusion|GitHub repository` + * - :doc:`DuckDB <duckdb>` [#duckdb]_ + - ``duckdb`` + - Vendor + - :iconlink:`fa-brands fa-github|https://github.com/duckdb/duckdb|GitHub repository` + * - `Exasol <https://docs.adbc-drivers.org/drivers/exasol/>`__ + - ``exasol`` + - Vendor + - :iconlink:`fa-brands fa-github|https://github.com/exasol/adbc-driver-exasol|GitHub repository` + * - :doc:`Apache Arrow Flight SQL <flight_sql>` [#compat-flightsql]_ + - ``flightsql`` + - ASF + - :iconlink:`fa-brands fa-github|https://github.com/apache/arrow-adbc/tree/main/go/adbc/driver/flightsql|GitHub repository` + * - `Microsoft SQL Server <https://docs.adbc-drivers.org/drivers/mssql/>`__ + - ``mssql`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/mssql|GitHub repository` + * - `MySQL/MariaDB <https://docs.adbc-drivers.org/drivers/mysql/>`__ [#compat-mysql]_ + - ``mysql`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/mysql|GitHub repository` + * - :doc:`PostgreSQL <postgresql>` [#compat-postgresql]_ + - ``postgresql`` + - ASF + - :iconlink:`fa-brands fa-github|https://github.com/apache/arrow-adbc/tree/main/c/driver/postgresql|GitHub repository` + * - `DuckDB Quack <https://docs.adbc-drivers.org/drivers/quack/>`__ + - ``quack`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/quack|GitHub repository` + * - `Amazon Redshift <https://docs.adbc-drivers.org/drivers/redshift/>`__ + - ``redshift`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/redshift|GitHub repository` + * - `SingleStore <https://docs.adbc-drivers.org/drivers/singlestore/>`__ + - ``singlestore`` + - Vendor + - :iconlink:`fa-brands fa-github|https://github.com/singlestore-labs/singlestore-adbc-connector|GitHub repository` + * - `Snowflake <https://docs.adbc-drivers.org/drivers/snowflake/>`__ + - ``snowflake`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/snowflake|GitHub repository` + * - `Apache Spark <https://docs.adbc-drivers.org/drivers/spark/>`__ + - ``spark`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/spark|GitHub repository` + * - :doc:`SQLite <sqlite>` + - ``sqlite`` + - ASF + - :iconlink:`fa-brands fa-github|https://github.com/apache/arrow-adbc/tree/main/c/driver/sqlite|GitHub repository` + * - `Trino <https://docs.adbc-drivers.org/drivers/trino/>`__ + - ``trino`` + - Foundry + - :iconlink:`fa-brands fa-github|https://github.com/adbc-drivers/trino|GitHub repository` + +.. [#slug] The **slug** is the short name a driver is known by. It is the name + you hand to a :doc:`client library <../client_libraries>` to load the + driver—either as the driver name (``postgresql``) or as the URI scheme + (``postgresql://``). Given this name, the client library + :ref:`searches for a matching driver manifest <driver-manifest-discovery>` + (``postgresql.toml``) that tells it which shared library to load. The same + slug is what you pass when :ref:`installing a driver <driver-table-install>`. +.. [#maintainer] See :ref:`Who maintains these drivers? <driver-table-maintainers>` + for what **ASF**, **Foundry**, and **Vendor** mean. +.. [#duckdb] ADBC support is built directly into DuckDB; installing the + ``duckdb`` driver fetches a prebuilt binary. This driver is also compatible + with MotherDuck. +.. [#compat-flightsql] This driver works with Flight SQL-compatible systems, + including Apache Doris, Dremio, GizmoSQL, InfluxDB, Sail, and StarRocks. +.. [#compat-mysql] This driver also works with MySQL-compatible systems including + TiDB and Vitess. +.. [#compat-postgresql] This driver also works with PostgreSQL wire + protocol-compatible systems, including CedarDB, Citus, CockroachDB, CrateDB, + Neon, ParadeDB, TimescaleDB, Yellowbrick, and YugabyteDB. + +.. _driver-table-install: + +Installing drivers +================== + +Prebuilt driver binaries for the drivers above—code-signed, notarized, and +ready to install for most mainstream operating systems and CPU +architectures—are available from the `ADBC Driver Registry +<https://dbc-cdn.columnar.tech>`__. Review Comment: Agreed, I was thinking this needs to do more to call out the nature of what's going on here. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
