镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

[C++] Implement ODBC driver "wrapper" using FlightSQL #30622

Closed as not planned
6 of 6 issues completed
Closed as not planned

Description

@asfimport

The ODBC analogue to ARROW-7744

Reporter: Wes McKinney / @wesm

Related issues:

Note: This issue was originally created as ARROW-15111. Please see the migration documentation for further details.

Activity

  1. asfimport commented on Jul 1, 2022

    @asfimport
    Author

    David Li / @lidavidm:
    For reference see https://github.com/dremio/warpdrive which was recently released (GPL2, though)

  2. spencerwilson commented on Oct 20, 2023

    @spencerwilson

    Possibly related to dremio/warpdrive:

  3. alinaliBQ commented on Nov 21, 2023

    @alinaliBQ
    Collaborator

    https://github.com/dremio/flightsql-odbc should have the Apache 2.0 license, my understanding is that it is a data source client that works with Apache Flight SQL. One should be able to develop an ODBC driver using this data source client.

    Would cpp/src/arrow/flight/sql be an appropriate subdirectory to put the ODBC driver? James and I are thinking that this looks like the right place, but please let us know if the proposal makes sense.
    cc @jduo

  4. alinaliBQ commented on Dec 4, 2023

    @alinaliBQ
    Collaborator

    Hello @wesm and @lidavidm, would either of you mind taking a look and letting me know if cpp/src/arrow/flight/sql is an appropriate subdirectory to put the ODBC driver?
    Thank you

  5. lidavidm commented on Dec 4, 2023

    @lidavidm
    Member

    @alinaliBQ how about cpp/src/flightsql_odbc or similar?

  6. alinaliBQ commented on Dec 5, 2023

    @alinaliBQ
    Collaborator

    @lidavidm Sure, cpp/src/flightsql_odbc makes sense to me. Ty.
    I have another question. We are looking to build a new ODBC driver for Flight SQL that can be part of the Arrow project. It would utilize parts of the Amazon Timestream ODBC driver and the Flight SQL ODBC driver (flightsql-odbc) (written by Dremio), which are Open Source and Apache 2.0-licensed. Are there any questions/concerns regarding using those drivers?

  7. lidavidm commented on Dec 5, 2023

    @lidavidm
    Member

    Do you mean that you plan to import or copy large chunks of one or both projects, or do you mean that you plan to use them as dependencies? If the former, I think depending on how much is copied we may have to think about IP clearance, but it's not clear to me what the threshold is.

  8. alinaliBQ commented on Dec 5, 2023

    @alinaliBQ
    Collaborator

    We're planning the former, so large chunks from both projects will be used. We're in the designing stage of developing the driver, so things may change later; the plan is that flightsql-odbc will be mostly used as-is other than changes to conforming to Arrow coding guidelines, and for Amazon Timestream driver, only its ODBC function entry code will be used and adapted to call into flightsql-odbc classes.

  9. lidavidm commented on Dec 5, 2023

    @lidavidm
    Member

    Ok. I would encourage you to submit a PR ASAP even if it is not complete so we can do as much development as possible in Apache repos. The guidelines state IP clearance is needed when most of the development is done outside of Apache repos, so submitting a single large PR (as with the JDBC driver) might mean we want to do an IP clearance to be safe; submitting PRs here early and often would help avoid that.

    At least, flightsql-odbc is probably enough code that we might want to do IP clearance anyways...however, please discuss this on dev@ so others can chime in

  10. alinaliBQ commented on Dec 5, 2023

    @alinaliBQ
    Collaborator

    We were thinking of submitting the PR early as well. Our initial plan is to submit the PR when the driver is able to connect the Flight SQL ODBC driver, with irrelevant code pruned. James has let me know that the community has indicated that the PR for Timestream ODBC + flightsql-odbc can be sent even if the driver doesn't compile since it's for starting the IP scanning process, so we can go with that. And I have written an email dev@ for other's opinions on this matter at: https://lists.apache.org/thread/t1r3pntpzoxdncgoj5f581hxyyl19bkl.

  11. laurentgo commented on Dec 8, 2023

    @laurentgo
    Contributor

    Possibly related to dremio/warpdrive:

    * https://docs.dremio.com/current/sonar/client-applications/drivers/arrow-flight-sql-odbc-driver
      
      * the linked [driver download page](https://www.dremio.com/drivers/odbc/) indicates that its license is some version of LGPL, but I can't find a link to its source code
    

    The driver is a combination of ASL 2.0 and LGPL. The LGPL license is available at https://github.com/dremio/warpdrive/blob/master/license.txt

  12. alinaliBQ commented on Dec 8, 2023

    @alinaliBQ
    Collaborator

    The driver is a combination of ASL 2.0 and LGPL. The LGPL license is available at https://github.com/dremio/warpdrive/blob/master/license.txt

    Thank you @laurentgo for explaining.

    Just for clarification, we'll not be using any LGPL code from the warpdrive (https://github.com/dremio/warpdrive) for the driver development. We are planning to make a Flight SQL ODBC driver that is fully ASL 2.0 so we can contribute back to the Apache community.

  13. alinaliBQ commented on Dec 14, 2023

    @alinaliBQ
    Collaborator

    Hi @lidavidm, currently our team's implementation is being done inside our own arrow fork. I was wondering if you know any Arrow community members who would be interested in taking a look at our incremental PRs for the ODBC driver? If so, we could assign folks as the reviewers to let them know which PRs to take a look at. We would appreciate additional pairs of eyes from the community. Please let me know if you have any questions.

  14. kou commented on Dec 14, 2023

    @kou
    Member

    Could you open a PR to apache/arrow instead of your fork?

  15. wesm commented on Dec 14, 2023

    @wesm
    Member

    We could create a branch on apache/arrow so that PRs do not have to go into the main branch (in case things are unstable)?

  16. 4 remaining items

  17. vic-tsang commented on Aug 23, 2025

    @vic-tsang
    Contributor

    Hi all,

    I am in the process of preparing mac and linux installers for the Apache Arrow Flight SQL ODBC driver. I would like to gather inputs from the community regarding the install path directory. Most ODBC installers install in the following directories

    • /Library
    • /opt
    • /usr/local

    Here are some potential install directory path suggestions

    • /Library/Apache/ArrowFlightSQLODBC
    • /opt/apache/arrowflightsqlodbc

    Please let me know what you think. If you have other ideas, please let me know. Thanks in advance!

  18. lidavidm commented on Aug 23, 2025

    @lidavidm
    Member

    @vic-tsang you may want to also send a message to the mailing lists!

  19. kou commented on Aug 23, 2025

    @kou
    Member

    For Linux, how about using deb/rpm instead of installers?

    Could you also share directory structure under the prefix? We install only ${PREFIX}/lib/libXXX.so?

  20. alinaliBQ commented on Aug 25, 2025

    @alinaliBQ
    Collaborator

    Hi Kou, yup the plan is to use the deb/rpm packages for Linux systems. By $PREFIX, are you referring to the PREFIX environment variable? Is there any docs that we could refer to in order to better understand the PREFIX variable?

  21. kou commented on Aug 26, 2025

    @kou
    Member

    By $PREFIX, are you referring to the PREFIX environment variable? Is there any docs that we could refer to in order to better understand the PREFIX variable?

    No. I just want to refer /Library, /opt, /usr/local, ... in the #30622 (comment) by ${PREFIX}.

  22. github-actions commented on Aug 26, 2026

    @github-actions

    This issue has been marked as stale because it has had no activity in the past 365 days. Please remove the stale label or comment below, or this issue will be closed in 14 days. If this improvement is still desired but has no current owner, please add the 'Status: needs champion' label.

  23. added
    Status: stale-warningIssues and PRs flagged as stale which are due to be closed if no indication otherwise
    on Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions