Skip to content

C sharp/ADBC client: Missing information due to misunderstanding of providerType #2931

Open
@qifanzhang-ms

Description

@qifanzhang-ms

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions