You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Flight SQL ODBC] HY010 Function sequence error during schema discovery using ExecuteReader(CommandBehavior.SchemaOnly) #50578
Hi @srinivasan-30, the bot automatically closed your issue because you marked C# as the component but this issue looks like a possible bug in the ODBC FlightSQL driver and not with arrow-dotnet. If that's the case, could you fill in more detail in your issue?
Version of the Arrow Flight SQL ODBC driver : 0.9.7.1195
Your dotnet version : 10.0
Inflex db version : influxdb3-core-3.10.0-windows_amd64
Reproducible Code Example :
We have attached the core sample below. Please modify the connection string for the Arrow Flight SQL ODBC Driver and the corresponding InfluxDB query in the sample and execute.
I seem to be able to reproduce the issue on Windows but not on macOS with the Apache driver so that must be a place where the driver managers differ between platforms.
hi @srinivasan-30 the Apache driver hasn't been tested with metadata retrieval from C#, so there is a possibility that it is not fully supported. I agree with @amoeba that this might be caused by a driver manager difference between platforms, as macOS (iODBC) and Windows ODBC driver managers may have different sequence of ODBC API calls to the Apache driver.
In case it might help, there are 2 possible places where the HY010 error could have been thrown:
SQLMoreResults is a no-op and errors on HY010 if there is no open cursor.
The issue has been reproduced on your end. Could you please let us know when the fix will be merged into a release and when the setup containing the fix will be available for use?
Should the implementation just always return SQL_NO_DATA since the driver doesn't support it?
According to the table, the implementation should return SQL_NO_DATA when the statement is allocated, prepared, or executed. So yes it makes sense for the driver to always return SQL_NO_DATA. Because the statement has to be allocated first for SQLMoreResults to reach the odbc_statement.cc functions.
Thanks @alinaliBQ. I'll finish up #50700 and tag you for a review.
@srinivasan-30: This might be able to go in a patch release which could be done in August but it might have to wait until later in the year. Because of the way this repo does releases, this component has to get released with everything else at once and it's not possible to release just an updated version of the driver. There will be nightly builds but the usual caveats would apply to using those.
Activity
github-actions commentedon Jul 21, 2026
Thanks for your report! The C# implementation has moved to https://github.com/apache/arrow-dotnet.
This issue has been closed automatically - please open a new issue there.
amoeba commentedon Jul 22, 2026
Hi @srinivasan-30, the bot automatically closed your issue because you marked C# as the component but this issue looks like a possible bug in the ODBC FlightSQL driver and not with arrow-dotnet. If that's the case, could you fill in more detail in your issue?
cc @alinaliBQ @justing-bq
srinivasan-30 commentedon Jul 23, 2026
Hi @amoeba ,
Please find the details below.
Reproducible Code Example :
We have attached the core sample below. Please modify the connection string for the Arrow Flight SQL ODBC Driver and the corresponding InfluxDB query in the sample and execute.
ConsoleApp.zip
srinivasan-30 commentedon Jul 24, 2026
Hi @amoeba ,
Kindly can you reopen this issue.
amoeba commentedon Jul 24, 2026
Hi @srinivasan-30, can you put the code here in the issue, in a gist, or in a repo so maintainers don't have to download a zip?
srinivasan-30 commentedon Jul 27, 2026
Hi @amoeba ,
Please find the gist link: https://gist.github.com/srinivasan-30/4b3ee7d6e4bfcece199092009d29fbcc .
Kindly replace the :
Please find the environment details below.
amoeba commentedon Jul 27, 2026
Hi @srinivasan-30, based on your driver version, it looks like you're using the Dremio version of the driver and not the one developed in the Arrow project. Can you try with https://github.com/apache/arrow/releases/download/apache-arrow-25.0.0/Apache-Arrow-Flight-SQL-ODBC-25.0.0-win64.msi? (You may have to work around Windows Defender to get the driver to load).
amoeba commentedon Jul 27, 2026
I seem to be able to reproduce the issue on Windows but not on macOS with the Apache driver so that must be a place where the driver managers differ between platforms.
srinivasan-30 commentedon Jul 28, 2026
Hi @amoeba ,
We have installed the provided driver, but we are still facing the same error: HY010 [Apache Arrow][Flight SQL] (100) Function sequence error.
alinaliBQ commentedon Jul 28, 2026
hi @srinivasan-30 the Apache driver hasn't been tested with metadata retrieval from C#, so there is a possibility that it is not fully supported. I agree with @amoeba that this might be caused by a driver manager difference between platforms, as macOS (iODBC) and Windows ODBC driver managers may have different sequence of ODBC API calls to the Apache driver.
In case it might help, there are 2 possible places where the HY010 error could have been thrown:
SQLMoreResultsis a no-op and errors on HY010 if there is no open cursor.arrow/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc
Line 790 in deed9c0
SQLExecuteerrors on HY010 ifSQLPreparehasn't been called first. The chance of driver manager not callingSQLPreparefirst is small.arrow/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc
Line 302 in deed9c0
amoeba commentedon Jul 29, 2026
I reproduced this on my Windows machine and, with ODBC tracing turned on, I get,
So it looks like the call triggering the exception is
SQLMoreResults.I'm new to this stuff so I had an LLM take a look and it pulled up https://learn.microsoft.com/en-us/sql/odbc/reference/appendixes/statement-transitions?view=sql-server-ver17#sqlmoreresults as a reference. From my reading of that, the Statement in this case is probably in the prepared state and so should always return
SQL_NO_DATA. Should the implementation just always returnSQL_NO_DATAsince the driver doesn't support it?srinivasan-30 commentedon Jul 29, 2026
Hi @amoeba ,
The issue has been reproduced on your end. Could you please let us know when the fix will be merged into a release and when the setup containing the fix will be available for use?
alinaliBQ commentedon Jul 29, 2026
According to the table, the implementation should return
SQL_NO_DATAwhen the statement is allocated, prepared, or executed. So yes it makes sense for the driver to always returnSQL_NO_DATA. Because the statement has to be allocated first forSQLMoreResultsto reach theodbc_statement.ccfunctions.amoeba commentedon Jul 29, 2026
Thanks @alinaliBQ. I'll finish up #50700 and tag you for a review.
@srinivasan-30: This might be able to go in a patch release which could be done in August but it might have to wait until later in the year. Because of the way this repo does releases, this component has to get released with everything else at once and it's not possible to release just an updated version of the driver. There will be nightly builds but the usual caveats would apply to using those.
GH-50578: [C++][FlightRPC][ODBC] Always return SQL_NO_DATA from GetMo…
amoeba commentedon Jul 31, 2026
Issue resolved by pull request 50700
#50700
srinivasan-30 commentedon Oct 8, 2026
Hi @amoeba,
Whether the above fix is moved in the public release. If not kindly share the release date.
amoeba commentedon Oct 8, 2026
Hi @srinivasan-30, this fix is in the 25.0.1 release and you can find the latest MSI at https://github.com/apache/arrow/releases/tag/apache-arrow-25.0.1. Let us know if the issue is or isn't fixed.