Skip to content

[C++][FlightSQL][ODBC]: Flight ODBC driver should iterate over endpoints #46584

@jduo

Description

@jduo

Describe the bug, including details regarding any error messages, version, and platform.

The current implementation of the ODBC driver does not correctly establish connections to other nodes when a flight result set is distributed.

auto result = flight_sql_client.DoGet(call_options, ticket);

At this line, it just calls DoGet() with the ticket at the originating endpoint. It doesn't check the list of locations to see if it is empty (which indicates that this is OK).

The correct behavior is to call DoGet() on the current client only if the list of locations in the FlightEndpoint is empty. If it is non-empty, the driver should create a FlightSqlClient to connect to one of the specified locations directly.

The JDBC driver had this problem in #38521

Component(s)

FlightRPC

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions