apache / apache/arrow

[C++][Arrow Flight SQL ODBC] Restrict descriptor fields based on `AppDescriptor` type

Open
#47,867 0 comments 0 reactions 0 assignees View on GitHub
Component: C++ Component: FlightRPC Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

AC:
- Restrict fields based on AppDescriptor IPD, and IRD. This impacts ODBC API `SQLGetDescField`

The fields at:
https://github.com/apache/arrow/blob/5f616db1491478dc85cc62eb0771730224479750/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_descriptor.cc#L317-L318

should only be allowed based on AppDescriptor type. Some fields are IPD-only, and some are IRD only. So if a field is IRD only and the descriptor is IPD, then user cannot access that field because it is not applicable. See https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlsetdescfield-function?view=sql-server-ver17 for more information.

Parent issue: https://github.com/apache/arrow/issues/30622

### Component(s)

FlightRPC, C++

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.