Description
What feature or improvement would you like to see?
SchemaTableColumn.ProviderType specifies the provider-specific data type of the column, so the following code:
arrow-adbc\csharp\src\Client\SchemaConverter.cs line 64:
row[SchemaTableColumn.ProviderType] = SchemaConverter.GetArrowTypeBasedOnRequestedBehavior(f.DataType, structBehavior);
should be changed to:
row[SchemaTableColumn.ProviderType] = f.DataType;
.
Otherwise, the original service data type information (whether it is struct) of connectors such as GBQ will be lost. I noticed that you wrote SchemaConverter.GetArrowTypeBasedOnRequestedBehavior() to handle the conversion from struct to string. I understand that data type conversion is a normal behavior, but it should only modify SchemaTableColumn.DataType, not SchemaTableColumn.ProviderType. I don't know if my understanding is more reasonable, so I raised this issue to discuss with you.