From edb25fbd302475629777b0f67485f6cc5d0ab37e Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 28 Jul 2026 22:07:05 -0700 Subject: [PATCH 1/2] Always return SQL_NO_DATA from GetMoreResults --- cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc b/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc index 51152c64782e..8b40abfb67d6 100644 --- a/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc +++ b/cpp/src/arrow/flight/sql/odbc/odbc_impl/odbc_statement.cc @@ -784,11 +784,7 @@ SQLRETURN ODBCStatement::GetData(SQLSMALLINT record_number, SQLSMALLINT c_type, SQLRETURN ODBCStatement::GetMoreResults() { // Multiple result sets are not supported by Arrow protocol. - if (current_result_) { - return SQL_NO_DATA; - } else { - throw DriverException("Function sequence error", "HY010"); - } + return SQL_NO_DATA; } void ODBCStatement::GetColumnCount(SQLSMALLINT* column_count_ptr) { From b1399a373a62cc450895214cde544a6b43619fc4 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 29 Jul 2026 12:02:10 -0700 Subject: [PATCH 2/2] update test --- cpp/src/arrow/flight/sql/odbc/tests/statement_test.cc | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cpp/src/arrow/flight/sql/odbc/tests/statement_test.cc b/cpp/src/arrow/flight/sql/odbc/tests/statement_test.cc index 237626c27820..ba8b883aac47 100644 --- a/cpp/src/arrow/flight/sql/odbc/tests/statement_test.cc +++ b/cpp/src/arrow/flight/sql/odbc/tests/statement_test.cc @@ -1984,14 +1984,7 @@ TYPED_TEST(StatementTest, TestSQLMoreResultsNoData) { } TYPED_TEST(StatementTest, TestSQLMoreResultsWithoutQuery) { -#ifdef __linux__ ASSERT_EQ(SQL_NO_DATA, SQLMoreResults(this->stmt)); -#else // Windows & Mac - // Verify function sequence error state is reported when SQLMoreResults is called - // without executing any queries - ASSERT_EQ(SQL_ERROR, SQLMoreResults(this->stmt)); - VerifyOdbcErrorState(SQL_HANDLE_STMT, this->stmt, kErrorStateHY010); -#endif } TYPED_TEST(StatementTest, TestSQLNativeSqlReturnsInputString) {