This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch spec-1.2.0
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/spec-1.2.0 by this push:
new 989dbe0f7 feat(format): formalize vendor type name metadata (#4550)
989dbe0f7 is described below
commit 989dbe0f7230dfa62bab69cd8fd0bbc77fa11ef4
Author: David Li <[email protected]>
AuthorDate: Sat Jul 25 16:11:54 2026 -0700
feat(format): formalize vendor type name metadata (#4550)
Closes #3449.
---
c/include/arrow-adbc/adbc.h | 28 ++++++++++++++++++++++++++++
go/adbc/drivermgr/arrow-adbc/adbc.h | 28 ++++++++++++++++++++++++++++
2 files changed, 56 insertions(+)
diff --git a/c/include/arrow-adbc/adbc.h b/c/include/arrow-adbc/adbc.h
index b3e856f0d..2c1ed3167 100644
--- a/c/include/arrow-adbc/adbc.h
+++ b/c/include/arrow-adbc/adbc.h
@@ -1268,6 +1268,10 @@ AdbcStatusCode AdbcMultiResultSetRelease(struct
AdbcMultiResultSet* result_set,
/// has been reached; it should simply continue to return ADBC_STATUS_OK with a
/// NULL release callback.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] result_set The result set struct to fetch the next result from.
/// \param[out] out The result stream to populate
/// \param[out] rows_affected The number of rows affected if known, else -
@@ -1297,6 +1301,10 @@ AdbcStatusCode AdbcMultiResultSetNext(struct
AdbcMultiResultSet* result_set,
/// result set has been reached; it should simply continue to return
ADBC_STATUS_OK with
/// a NULL release callback.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] result_set The result set struct to fetch the next result from.
/// \param[out] schema The schema of the result set to populate
/// \param[out] partitions The partitions to populate
@@ -2333,6 +2341,10 @@ AdbcStatusCode AdbcConnectionGetStatisticNames(struct
AdbcConnection* connection
/// \brief Get the Arrow schema of a table.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. The name of the
+/// metadata key should be `<VENDOR>:type` (e.g. `POSTGRESQL:type`).
+///
/// \param[in] connection The database connection.
/// \param[in] catalog The catalog (or nullptr if not applicable).
/// \param[in] db_schema The database schema (or nullptr if not applicable).
@@ -2461,6 +2473,10 @@ AdbcStatusCode AdbcStatementRelease(struct
AdbcStatement* statement,
/// Since ADBC 1.1.0: releasing the returned ArrowArrayStream without
/// consuming it fully is equivalent to calling AdbcStatementCancel.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] statement The statement to execute.
/// \param[out] out The results. Pass NULL if the client does not
/// expect a result set.
@@ -2493,6 +2509,10 @@ AdbcStatusCode AdbcStatementExecuteQuery(struct
AdbcStatement* statement,
/// of all result sets before consuming any data, which can be useful for
certain
/// applications such as query planning or UI display of results.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] statement The statement to execute.
/// \param[out] results The result set struct to populate with the schemas of
the result
/// sets.
@@ -2547,6 +2567,10 @@ AdbcStatusCode AdbcStatementExecuteMulti(struct
AdbcStatement* statement,
/// Depending on the driver, this may require first executing
/// AdbcStatementPrepare.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \since ADBC API revision 1.1.0
///
/// \param[in] statement The statement to execute.
@@ -2907,6 +2931,10 @@ AdbcStatusCode AdbcStatementSetOptionDouble(struct
AdbcStatement* statement,
/// \brief Execute a statement and get the results as a partitioned
/// result set.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] statement The statement to execute.
/// \param[out] schema The schema of the result set.
/// \param[out] partitions The result partitions.
diff --git a/go/adbc/drivermgr/arrow-adbc/adbc.h
b/go/adbc/drivermgr/arrow-adbc/adbc.h
index b3e856f0d..2c1ed3167 100644
--- a/go/adbc/drivermgr/arrow-adbc/adbc.h
+++ b/go/adbc/drivermgr/arrow-adbc/adbc.h
@@ -1268,6 +1268,10 @@ AdbcStatusCode AdbcMultiResultSetRelease(struct
AdbcMultiResultSet* result_set,
/// has been reached; it should simply continue to return ADBC_STATUS_OK with a
/// NULL release callback.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] result_set The result set struct to fetch the next result from.
/// \param[out] out The result stream to populate
/// \param[out] rows_affected The number of rows affected if known, else -
@@ -1297,6 +1301,10 @@ AdbcStatusCode AdbcMultiResultSetNext(struct
AdbcMultiResultSet* result_set,
/// result set has been reached; it should simply continue to return
ADBC_STATUS_OK with
/// a NULL release callback.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] result_set The result set struct to fetch the next result from.
/// \param[out] schema The schema of the result set to populate
/// \param[out] partitions The partitions to populate
@@ -2333,6 +2341,10 @@ AdbcStatusCode AdbcConnectionGetStatisticNames(struct
AdbcConnection* connection
/// \brief Get the Arrow schema of a table.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. The name of the
+/// metadata key should be `<VENDOR>:type` (e.g. `POSTGRESQL:type`).
+///
/// \param[in] connection The database connection.
/// \param[in] catalog The catalog (or nullptr if not applicable).
/// \param[in] db_schema The database schema (or nullptr if not applicable).
@@ -2461,6 +2473,10 @@ AdbcStatusCode AdbcStatementRelease(struct
AdbcStatement* statement,
/// Since ADBC 1.1.0: releasing the returned ArrowArrayStream without
/// consuming it fully is equivalent to calling AdbcStatementCancel.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] statement The statement to execute.
/// \param[out] out The results. Pass NULL if the client does not
/// expect a result set.
@@ -2493,6 +2509,10 @@ AdbcStatusCode AdbcStatementExecuteQuery(struct
AdbcStatement* statement,
/// of all result sets before consuming any data, which can be useful for
certain
/// applications such as query planning or UI display of results.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] statement The statement to execute.
/// \param[out] results The result set struct to populate with the schemas of
the result
/// sets.
@@ -2547,6 +2567,10 @@ AdbcStatusCode AdbcStatementExecuteMulti(struct
AdbcStatement* statement,
/// Depending on the driver, this may require first executing
/// AdbcStatementPrepare.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \since ADBC API revision 1.1.0
///
/// \param[in] statement The statement to execute.
@@ -2907,6 +2931,10 @@ AdbcStatusCode AdbcStatementSetOptionDouble(struct
AdbcStatement* statement,
/// \brief Execute a statement and get the results as a partitioned
/// result set.
///
+/// Drivers may annotate the result schema columns with the underlying
+/// system's name for the data type by adding field metadata. See
+/// AdbcConnectionGetTableSchema.
+///
/// \param[in] statement The statement to execute.
/// \param[out] schema The schema of the result set.
/// \param[out] partitions The result partitions.