apache / apache/arrow-adbc

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

Open
#2,931 5 comments 0 reactions 0 assignees View on GitHub
Type: enhancement
Dominant language
C#
Stars
627
Forks
217
Avg merge
17h
Merged PRs (30d)
57

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.