This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new fa313052 docs: add simple glossary (#1420)
fa313052 is described below

commit fa31305228fd872a104a23c6f11f696f90f6ab0b
Author: David Li <[email protected]>
AuthorDate: Tue Jan 2 13:50:08 2024 -0500

    docs: add simple glossary (#1420)
---
 docs/source/glossary.rst | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
 docs/source/index.rst    |  8 +++++++
 2 files changed, 63 insertions(+)

diff --git a/docs/source/glossary.rst b/docs/source/glossary.rst
new file mode 100644
index 00000000..f54c63b2
--- /dev/null
+++ b/docs/source/glossary.rst
@@ -0,0 +1,55 @@
+.. 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.
+
+========
+Glossary
+========
+
+.. glossary::
+
+   client API
+     The API that an application uses to interact with a database.  May
+     abstract over the underlying :term:`wire protocol` and other details.
+     For example, ADBC, JDBC, ODBC.
+
+   driver
+     A library that implements a :term:`client API` using a :term:`wire
+     protocol`.  For example, the ADBC PostgreSQL driver exposes 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.
+
+   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.
+
+     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.
+
+   wire protocol
+     The protocol that a database driver uses to interact with a database.
+     For example, :external:doc:`format/FlightSql`, the `PostgreSQL wire
+     protocol`_, or `Tabular Data Stream`_ (Microsoft SQL Server).  Generally
+     not directly used by an application.
+
+.. _Arrow Flight SQL: https://arrow.apache.org/docs/format/FlightSql.html
+.. _PostgreSQL wire protocol: 
https://www.postgresql.org/docs/current/protocol.html
+.. _Tabular Data Stream: 
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-tds/b46a581a-39de-4745-b076-ec4dbb7d13ec
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 5537a943..494ccfc7 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -126,6 +126,13 @@ make it more convenient to build analytical applications.
 
             FAQ
 
+         .. button-ref:: glossary
+            :ref-type: doc
+            :color: secondary
+            :expand:
+
+            Glossary
+
       .. grid-item-card::
          :columns: 12 4 4 4
 
@@ -201,6 +208,7 @@ Why ADBC?
    :hidden:
 
    faq
+   glossary
 
 .. toctree::
    :maxdepth: 1

Reply via email to