amoeba commented on code in PR #4525: URL: https://github.com/apache/arrow-adbc/pull/4525#discussion_r3599469282
########## docs/source/driver/authoring.rst: ########## @@ -19,26 +19,100 @@ Writing New Drivers =================== -Currently, new drivers can be written in C#, C/C++, Go, and Java. A driver -written in C/C++ or Go can be used from either of those languages, as well as -C#, Python, R, and Ruby. (C# can experimentally export drivers to the same -set of languages as well.) The Rust API definitions for ADBC are still under -development, but we plan for them to be on par with C#, C/C++, and Go in this -respect. - -It is so far preferable to write new drivers in Go. C/C++ have had issues -with dependencies and in particular some not uncommon dependencies in that -ecosystem tend to cause conflicts when loaded into Python processes and -elsewhere. (For example, the ADBC Flight SQL driver was originally written in -C++ but would have conflicted with the grpcio and pyarrow Python packages.) -It also tends to be easier for us to package and distribute additional Go -libraries than it is for C/C++. - -In Go, some frameworks are available for driver -authors. `go/adbc/driver/internal/driverbase`_ manages much of the boilerplate -and basic state management for drivers. `go/adbc/pkg`_ can template out a C -ABI wrapper around the Go driver. Especially if the driver is planned to go -upstream, we recommend driver authors consider using these frameworks. - -.. _go/adbc/driver/internal/driverbase: https://github.com/apache/arrow-adbc/tree/main/go/adbc/driver/internal/driverbase -.. _go/adbc/pkg: https://github.com/apache/arrow-adbc/tree/main/go/adbc/pkg +Interested in building an ADBC driver? The best place to start is the **ADBC +Driver Foundry**, a community project that hosts most ADBC drivers and provides +the frameworks, templates, testing tools, and distribution infrastructure for +building and shipping them. + +.. button-link:: https://docs.adbc-drivers.org/building-drivers/ + :color: primary + + Building Drivers guide (ADBC Driver Foundry) :octicon:`link-external` + +The rest of this page gives a brief orientation. For anything beyond +that—project templates, frameworks, validation tests, packaging, and +distribution—follow the guide above. + +.. note:: + + The ADBC project itself focuses on the :doc:`ADBC standard + <../format/specification>` and :doc:`client libraries <../client_libraries>`, + not on building and distributing drivers. In most cases, new drivers should + be developed in the ADBC Driver Foundry, not in the ``apache/arrow-adbc`` + repository. + + The ADBC Driver Foundry is an independent community project, separate from Review Comment: Are we avoiding the term third-party on purpose? ########## 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: I'm not sure we get to call it the ADBC Driver Registry since it's just the CDN for dbc. I also want to be clearer about the third-party nature and provenance. How about: > Pre-built binaries for the drivers in the table above are available from a third party, [Columnar](https://columnar.tech). These binaries are code signed and notarized by Columnar and made available on the Columnar's [CDN](https://dbc-cdb.columnar.tech). Binaries are built for Windows (amd64), macOS (arm64), and Linux (amd64/arm64). ########## 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>`__. + +Users and applications can download a driver from the registry manually, or with +the `dbc <https://docs.columnar.tech/dbc/>`__ command-line tool. With dbc +installed, install any driver by its slug: Review Comment: Do we like "slug" for a term? Internally, this is called "path". ########## 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 Review Comment: ```suggestion Installing Drivers ``` Did you mean to not title case all your headings? I'm not sure I've ever seen a style guide where you don't titlecase. I only made the suggestion here but it applies everywhere else. -- 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]
