Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement FlightSQL [EPIC] #3301

Closed
6 of 11 tasks
alamb opened this issue Dec 8, 2022 · 5 comments
Closed
6 of 11 tasks

Implement FlightSQL [EPIC] #3301

alamb opened this issue Dec 8, 2022 · 5 comments
Labels
arrow-flight Changes to the arrow-flight crate enhancement Any new improvement worthy of a entry in the changelog

Comments

@alamb
Copy link
Contributor

alamb commented Dec 8, 2022

As discussed in #1323, there is now sufficient community interest in moving forward with a Rust FlightSQL implementation. Thanks to @avantgardnerio and @wangfenjin we have basic POC level client and server implementations behind the --features=flight-sql-experimental feature flag.

This ticket tracks the work needed to change the feature flag from flight-sql-experimental to flight-sql (aka that we are comfortable saying that the rust client supports FlightSQL)

Known work items

Basics

Testing

FlightSQL Client

Performance

FlightSQL Server

@alamb alamb added arrow-flight Changes to the arrow-flight crate enhancement Any new improvement worthy of a entry in the changelog labels Dec 8, 2022
@Dandandan
Copy link
Contributor

One improvement for flightsql (and flight as well) is to support sending/tracking dictionaries in the API (to avoid sending shared dictionaries for every recordbatch.

@alamb
Copy link
Contributor Author

alamb commented Dec 10, 2022

One improvement for flightsql (and flight as well) is to support sending/tracking dictionaries in the API (to avoid sending shared dictionaries for every recordbatch.

Thanks @Dandandan -- I have added #3312 to the list above

@alamb
Copy link
Contributor Author

alamb commented Dec 16, 2022

An update here on my end: I have been working on FlightSQL as part of IOx and have several ideas on how to consolidate implementations and what would be useful to contirbute back upstream

My high level proposal is

  1. Create a general Flight client wrapper on top of the automatically generated one that handle streaming RecordBatch conversions, for those who want it -- I have seen versions of this code in Ballista, now the arrow flighsql client (derived from Ballista) and IOx so I think it is a good common building block
  2. Build a FlightSQL client on top of the general FlightClient that handles marshalling / unmarshalling the protobuf messages appropriate.

I plan a more full featured proposal in the next day or two

@tustvold
Copy link
Contributor

tustvold commented Jun 1, 2023

Is this still tracking anything meaningful?

@alamb
Copy link
Contributor Author

alamb commented Jun 1, 2023

I don't think so 🤔 Maybe we should simply consider renaming the feature flag to flightsql rather than flightsql-experimental 🤔

@alamb alamb closed this as completed Jan 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrow-flight Changes to the arrow-flight crate enhancement Any new improvement worthy of a entry in the changelog
Projects
None yet
Development

No branches or pull requests

3 participants