Problem
The SEA/REST path does not implement GetTypeInfo or GetFunctions, which the Thrift path supports.
- The SEA metadata dispatcher
StatementExecutionStatement.ExecuteMetadataCommandAsync (csharp/src/StatementExecution/StatementExecutionStatement.cs:1009-1022) only handles getcatalogs, getschemas, gettables, getcolumns, getcolumnsextended, getprimarykeys, getcrossreference. There is no gettypeinfo/getfunctions case; the default arm throws NotSupportedException($"Metadata command '{_sqlQuery}' is not supported") (line 1020).
- A grep of
StatementExecution*.cs finds zero references to GetTypeInfo/GetFunctions. The Thrift client has these RPCs, so this is a SEA-only gap.
There is no direct Thrift RPC equivalent in SEA/REST, so this needs protocol/API design (likely SQL-command-backed, e.g. SHOW FUNCTIONS for functions; a static/derived type table for type info) plus the corresponding ADBC API surface.
Context
Source: ADBC SEA Public Preview plan, driver-test-platform table ("P1 · Missing metadata API · GetTypeInfo, GetFunctions … no equivalent Thrift RPCs in SEA/REST + no ADBC API surface — needs protocol work").
Related but distinct: #236 (a broad Go-driver feature request for richer function/routine discovery). This issue is specifically about the C# SEA path throwing NotSupportedException for GetTypeInfo/GetFunctions that Thrift already answers.
Expected
GetTypeInfo and GetFunctions return meaningful results on SEA (or a documented, consistent behavior), matching Thrift where feasible.
Problem
The SEA/REST path does not implement
GetTypeInfoorGetFunctions, which the Thrift path supports.StatementExecutionStatement.ExecuteMetadataCommandAsync(csharp/src/StatementExecution/StatementExecutionStatement.cs:1009-1022) only handlesgetcatalogs, getschemas, gettables, getcolumns, getcolumnsextended, getprimarykeys, getcrossreference. There is nogettypeinfo/getfunctionscase; thedefaultarm throwsNotSupportedException($"Metadata command '{_sqlQuery}' is not supported")(line 1020).StatementExecution*.csfinds zero references toGetTypeInfo/GetFunctions. The Thrift client has these RPCs, so this is a SEA-only gap.There is no direct Thrift RPC equivalent in SEA/REST, so this needs protocol/API design (likely SQL-command-backed, e.g.
SHOW FUNCTIONSfor functions; a static/derived type table for type info) plus the corresponding ADBC API surface.Context
Source: ADBC SEA Public Preview plan, driver-test-platform table ("P1 · Missing metadata API · GetTypeInfo, GetFunctions … no equivalent Thrift RPCs in SEA/REST + no ADBC API surface — needs protocol work").
Related but distinct: #236 (a broad Go-driver feature request for richer function/routine discovery). This issue is specifically about the C# SEA path throwing
NotSupportedExceptionforGetTypeInfo/GetFunctionsthat Thrift already answers.Expected
GetTypeInfoandGetFunctionsreturn meaningful results on SEA (or a documented, consistent behavior), matching Thrift where feasible.