Skip to content

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

Open
@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

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions