lidavidm commented on code in PR #4031:
URL: https://github.com/apache/arrow-adbc/pull/4031#discussion_r2870395009


##########
c/include/arrow-adbc/adbc.h:
##########
@@ -1858,6 +1858,96 @@ AdbcStatusCode AdbcConnectionGetObjects(struct 
AdbcConnection* connection, int d
                                         struct ArrowArrayStream* out,
                                         struct AdbcError* error);
 
+/// \brief Get a hierarchical view of all functions and procedures.
+///
+/// The result is an Arrow dataset with the following schema:
+///
+/// | Field Name               | Field Type              |
+/// |--------------------------|-------------------------|
+/// | catalog_name             | utf8                    |
+/// | catalog_db_schemas       | list<DB_SCHEMA_SCHEMA>  |
+///
+/// DB_SCHEMA_SCHEMA is a Struct with fields:
+///
+/// | Field Name               | Field Type              |
+/// |--------------------------|-------------------------|
+/// | db_schema_name           | utf8                    |
+/// | db_schema_routines       | list<ROUTINE_SCHEMA>    |
+///
+/// ROUTINE_SCHEMA is a Struct with fields:
+///
+/// | Field Name               | Field Type              | Comments |
+/// |--------------------------|-------------------------|----------|
+/// | routine_name             | utf8 not null           |          |
+/// | routine_specific_name    | utf8 not null           | (1)      |
+/// | routine_type             | utf8 not null           | (2)      |
+/// | routine_remarks          | utf8                    | (3)      |
+/// | routine_parameters       | list<PARAMETER_SCHEMA>  | (4)      |
+/// | routine_result           | list<PARAMETER_SCHEMA>  | (4)      |
+/// | routine_parameter_schema | binary                  | (5)      |
+/// | routine_result_schema    | binary                  | (5)      |
+///
+/// 1. A name that uniquely identifies the routine, to disambiguate
+///    overloads.
+/// 2. 'FUNCTION', 'PROCEDURE', or a vendor-specific name (e.g. 'TABLE
+///    FUNCTION').
+/// 3. Vendor-specific description of the routine.
+/// 4. Metadata about the accepted parameters and return values as structured
+///    Arrow data.  Only populated if include_columns is set, otherwise null.
+/// 5. Metadata about the accepted parameters and return values as an Arrow
+///    schema, serialized as an IPC message containing a schema Flatbuffers
+///    structure.  Only populated if include_arrow_schema is set, otherwise
+///    null.

Review Comment:
   https://github.com/apache/arrow-adbc/issues/3793 and 
https://github.com/apache/arrow-adbc/issues/3996 are related to that, I believe.
   
   I thought about a separate function, but note that even for GetObjects 
there's a request to add a serialized schema to avoid round trips.
   https://github.com/apache/arrow-adbc/issues/1704



-- 
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]

Reply via email to