What happened
Columns of Snowflake's UUID data type cannot be discovered through the driver's metadata paths, even though they query fine.
GetTableSchema (which runs DESC TABLE → descToField) returns a hard error:
Not Implemented: Snowflake Data Type UUID not implemented
GetObjects → toArrowField matches no case for UUID, so the column's arrow.Field.Type is left nil and no XdbcDataType/XdbcSqlDataType is populated.
The data path itself is fine: SELECT * FROM <table> returns the UUID column as Arrow utf8 (Snowflake delivers UUID values as text over the wire).
This surfaces in the Power BI Snowflake connector (built on this ADBC driver) as a Navigator error when previewing/loading a table that has a UUID column:
Expression.Error: Unable to understand the type for column
Details:
<UUID column name>
Reproduction
create table tester (uuid_id UUID, varchar_id VARCHAR);
insert into tester (uuid_id, varchar_id) select uuid_string(), uuid_string();
Then, against TESTER:
| Path |
Result |
GetTableSchema |
❌ Not Implemented: Snowflake Data Type UUID not implemented |
GetObjects (column depth) |
⚠️ field type left nil |
SELECT * result schema |
✅ utf8 |
SHOW COLUMNS reports the type as {"type":"UUID","nullable":true}; DESC TABLE reports it as UUID.
Expected
The metadata paths should agree with the data path and report a UUID column as Arrow utf8, consistent with how VARIANT/OBJECT/ARRAY are surfaced.
Environment
go/ driver, github.com/snowflakedb/gosnowflake/v2 v2.1.0
What happened
Columns of Snowflake's
UUIDdata type cannot be discovered through the driver's metadata paths, even though they query fine.GetTableSchema(which runsDESC TABLE→descToField) returns a hard error:GetObjects→toArrowFieldmatches nocaseforUUID, so the column'sarrow.Field.Typeis leftniland noXdbcDataType/XdbcSqlDataTypeis populated.The data path itself is fine:
SELECT * FROM <table>returns theUUIDcolumn as Arrowutf8(Snowflake delivers UUID values as text over the wire).This surfaces in the Power BI Snowflake connector (built on this ADBC driver) as a Navigator error when previewing/loading a table that has a
UUIDcolumn:Reproduction
Then, against
TESTER:GetTableSchemaNot Implemented: Snowflake Data Type UUID not implementedGetObjects(column depth)nilSELECT *result schemautf8SHOW COLUMNSreports the type as{"type":"UUID","nullable":true};DESC TABLEreports it asUUID.Expected
The metadata paths should agree with the data path and report a
UUIDcolumn as Arrowutf8, consistent with howVARIANT/OBJECT/ARRAYare surfaced.Environment
go/driver,github.com/snowflakedb/gosnowflake/v2 v2.1.0