diff --git a/c/include/arrow-adbc/adbc.h b/c/include/arrow-adbc/adbc.h index a461795ce0..3d098b41fe 100644 --- a/c/include/arrow-adbc/adbc.h +++ b/c/include/arrow-adbc/adbc.h @@ -1977,26 +1977,41 @@ AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection* connection, /// /// The result is an Arrow dataset with the following schema: /// -/// | Field Name | Field Type | -/// |--------------------------|-------------------------| -/// | catalog_name | utf8 | -/// | catalog_db_schemas | list | +/// | Field Name | Field Type | Comments | +/// |--------------------------|-------------------------|----------| +/// | catalog_name | utf8 | | +/// | catalog_db_schemas | list | | +/// | remarks | utf8 | (1) | +/// +/// 1. [Since version 1.2.0] A description of the catalog. This field is +/// optional. /// /// DB_SCHEMA_SCHEMA is a Struct with fields: /// -/// | Field Name | Field Type | -/// |--------------------------|-------------------------| -/// | db_schema_name | utf8 | -/// | db_schema_tables | list | +/// | Field Name | Field Type | Comments | +/// |--------------------------|-------------------------|----------| +/// | db_schema_name | utf8 | | +/// | db_schema_tables | list | | +/// | remarks | utf8 | (1) | +/// +/// 1. [Since version 1.2.0] A description of the schema. This field is +/// optional. /// /// TABLE_SCHEMA is a Struct with fields: /// -/// | Field Name | Field Type | -/// |--------------------------|-------------------------| -/// | table_name | utf8 not null | -/// | table_type | utf8 not null | -/// | table_columns | list | -/// | table_constraints | list | +/// | Field Name | Field Type | Comments | +/// |--------------------------|-------------------------|----------| +/// | table_name | utf8 not null | | +/// | table_type | utf8 not null | | +/// | table_columns | list | | +/// | table_constraints | list | | +/// | table_definition | utf8 | (1) | +/// | remarks | utf8 | (2) | +/// +/// 1. [Since version 1.2.0] The table or view definition (e.g. a SQL DDL +/// statement). This field is optional. +/// 2. [Since version 1.2.0] A description of the table. This field is +/// optional. /// /// COLUMN_SCHEMA is a Struct with fields: /// @@ -2021,12 +2036,14 @@ AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection* connection, /// | xdbc_scope_table | utf8 | (3) | /// | xdbc_is_autoincrement | bool | (3) | /// | xdbc_is_generatedcolumn | bool | (3) | +/// | xdbc_source_data_type | int16 | (3, 4) | /// /// 1. The column's ordinal position in the table (starting from 1). /// 2. Database-specific description of the column. /// 3. Optional value. Should be null if not supported by the driver. /// xdbc_ values are meant to provide JDBC/ODBC-compatible metadata /// in an agnostic manner. +/// 4. [Since version 1.2.0] This field is optional. /// /// CONSTRAINT_SCHEMA is a Struct with fields: /// @@ -2089,6 +2106,13 @@ AdbcStatusCode AdbcConnectionGetInfo(struct AdbcConnection* connection, /// values may still be null if the driver does not actually support that /// field). /// +/// Starting in version 1.2.0, driver-specific fields were introduced to the +/// schema. Drivers may add custom fields at the end of any schema above to +/// reflect vendor-specific metadata. Applications must access these using an +/// offset from the end of the schema and cannot assume that the index of the +/// field will remain stable. Drivers should prefix field names with the +/// vendor/driver name to differentiate them (e.g. 'POSTGRESQL:owner'). +/// /// This AdbcConnection must outlive the returned ArrowArrayStream. /// /// \param[in] connection The database connection.