You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "alinaliBQ (via GitHub)" <gi...@apache.org> on 2025/10/02 21:14:33 UTC

[PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ and Glib Workflows [arrow]

alinaliBQ opened a new pull request, #47689:
URL: https://github.com/apache/arrow/pull/47689

   
   ### Rationale for this change
    Enable ODBC Build In C++ and Glib Workflows to make sure ODBC can build in CI.
   
   ### What changes are included in this PR?
   - Make environment variable `ARROW_FLIGHT_SQL_ODBC:ON` recognized in C++ build. 
   
   ### Are these changes tested?
   Tested in CI
   ### Are there any user-facing changes?
   
   No
   
   Extracted from PR #46099


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ and Glib Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2400081953


##########
cpp/src/arrow/flight/sql/odbc/flight_sql/utils.h:
##########
@@ -20,6 +20,7 @@
 #include <arrow/flight/sql/odbc/odbcabstraction/include/odbcabstraction/exceptions.h>
 #include <arrow/flight/sql/odbc/odbcabstraction/include/odbcabstraction/types.h>
 #include <arrow/flight/types.h>
+#include <boost/variant.hpp>

Review Comment:
   `boost::variant` is an existing dependency of `flightsql-odbc`. Our plan is to replace it with `std::variant` in future PRs



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ and GLib Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2414402734


##########
.github/workflows/ruby.yml:
##########
@@ -219,6 +219,7 @@ jobs:
       ARROW_DATASET: ON
       ARROW_FLIGHT: ON
       ARROW_FLIGHT_SQL: ON
+      ARROW_FLIGHT_SQL_ODBC: ON

Review Comment:
   `ARROW_FLIGHT_SQL_ODBC: ON` is already on cpp.yml file
   
   https://github.com/apache/arrow/blob/66b2f4af147bf2af3077b3addf49fcf5b8629d52/.github/workflows/cpp.yml#L400



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3387378675

   @lidavidm @kou The PR for building ODBC is ready for review. Please have a look, thanks


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ and GLib Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2414402734


##########
.github/workflows/ruby.yml:
##########
@@ -219,6 +219,7 @@ jobs:
       ARROW_DATASET: ON
       ARROW_FLIGHT: ON
       ARROW_FLIGHT_SQL: ON
+      ARROW_FLIGHT_SQL_ODBC: ON

Review Comment:
   `ARROW_FLIGHT_SQL_ODBC: ON` is already on cpp.yml file



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2430802138


##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   I have renamed to `tests`. I think `tests` directory would work better in this case compared to `ci\scripts` since this is the only script for testing. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2430809377


##########
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##########
@@ -37,7 +37,8 @@ add_subdirectory(odbc_impl)
 
 arrow_install_all_headers("arrow/flight/sql/odbc")
 
-set(ARROW_FLIGHT_SQL_ODBC_SRCS entry_points.cc odbc_api.cc)
+# Compile entry_points.cc before odbc_api.cc due to conflict from sql.h and flight/types.h
+set(ARROW_FLIGHT_SQL_ODBC_SRCS odbc_api.cc entry_points.cc)

Review Comment:
   I think the build doesn't fail from `set(ARROW_FLIGHT_SQL_ODBC_SRCS odbc_api.cc entry_points.cc)`, resolving this comment



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2422850020


##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   Or `ci\scripts\`?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2418245867


##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/ui/custom_window.cc:
##########
@@ -52,7 +53,7 @@ LRESULT CALLBACK CustomWindow::WndProc(HWND hwnd, UINT msg, WPARAM wparam,
 
   switch (msg) {
     case WM_NCCREATE: {
-      _ASSERT(lparam != NULL);
+      assert(lparam != NULL);

Review Comment:
   Can we use `ARROW_DCHECK*()` instead?
   https://github.com/apache/arrow/blob/5750e2932fc26c27be92fe9262f6b128a513abca/cpp/src/arrow/util/logging.h#L90-L125



##########
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##########
@@ -37,7 +37,8 @@ add_subdirectory(odbc_impl)
 
 arrow_install_all_headers("arrow/flight/sql/odbc")
 
-set(ARROW_FLIGHT_SQL_ODBC_SRCS entry_points.cc odbc_api.cc)
+# Compile entry_points.cc before odbc_api.cc due to conflict from sql.h and flight/types.h
+set(ARROW_FLIGHT_SQL_ODBC_SRCS odbc_api.cc entry_points.cc)

Review Comment:
   Could you share build log URL without this?
   
   We may just need to disable unity build like https://github.com/apache/arrow/pull/47627/files#diff-2a4796eff3f25e1b0fd6a0db28bdea1efbc3ec69457705b1069cf70ad5355624R192-R204 does.



##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/system_trust_store.h:
##########


Review Comment:
   Do we need `|| defined _WIN64` here?
   
   https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170
   
   > `_WIN32` Defined as 1 when the compilation target is 32-bit ARM, 64-bit ARM, x86, x64, or ARM64EC. Otherwise, undefined.
   



##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   ```suggestion
             call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{ github.workspace }}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll
   ```



##########
cpp/src/arrow/flight/sql/odbc/install/install_amd64.cmd:
##########
@@ -0,0 +1,53 @@
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements.  See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership.  The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License.  You may obtain a copy of the License at
+@REM
+@REM   http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied.  See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+@echo off
+
+set ODBC_AMD64=%1
+
+@REM enable delayed variable expansion to make environment variables enclosed with "!" to be evaluated 
+@REM when the command is executed instead of when the command is parsed
+setlocal enableextensions enabledelayedexpansion
+
+if [%ODBC_AMD64%] == [] (
+	echo error: 64-bit driver is not specified. Call format: install_amd64 abs_path_to_64_bit_driver
+	pause
+	exit /b 1
+)
+
+if exist %ODBC_AMD64% (
+	for %%i IN (%ODBC_AMD64%) DO IF EXIST %%~si\NUL (
+		echo warning: The path you have specified seems to be a directory. Note that you have to specify path to driver file itself instead.
+	)
+	echo Installing 64-bit driver: %ODBC_AMD64%
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v DriverODBCVer /t REG_SZ /d "03.80" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v UsageCount /t REG_DWORD /d 00000001 /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v Driver /t REG_SZ /d %ODBC_AMD64% /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v Setup /t REG_SZ /d %ODBC_AMD64% /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Arrow Flight SQL ODBC Driver" /t REG_SZ /d "Installed" /f
+	
+	IF !ERRORLEVEL! NEQ 0 (

Review Comment:
   ```suggestion
   	if !ERRORLEVEL! NEQ 0 (
   ```
   
   BTW, is `!ERRORLEVEL!` still non 0 when the first `reg add` succeeded and the last `reg add` failed?



##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   `cpp\src\arrow\flight\sql\odbc\script\` not `...\install\` may be better.
   We will add uninstall scripts later, right?



##########
cpp/src/arrow/flight/sql/odbc/install/install_amd64.cmd:
##########


Review Comment:
   Do we need `_amd64` in file name?
   
   It seems that this doesn't have any amd64 specific part.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou merged PR #47689:
URL: https://github.com/apache/arrow/pull/47689


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "kou (via GitHub)" <gi...@apache.org>.
kou commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2422849941


##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   OK. Then how about using `test\` directory?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3408669766

   I think the failed [`Python / AMD64 Windows 2022 Python 3.13 (pull_request)`](https://github.com/apache/arrow/actions/runs/18513561715/job/52759408091?pr=47689) check is not due to the changes in this PR


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "raulcd (via GitHub)" <gi...@apache.org>.
raulcd commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3414570158

   Thanks a lot for the PR, CI seems to be fixed now :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3416725316

   > it seems you have pushed a change to the testing submodule reverting it back to the previous commit, can you update the submodule to point again to the latest commit? Current commit should be: [apache/arrow-testing@9a02925](https://github.com/apache/arrow-testing/commit/9a02925d1ba80bd493b6d4da6e8a777588d57ac4)
   
   Good catch, I have fixed it and reverted the testing submodule change. Thanks


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3458712854

   @kou Please let me know if you have any other comments, thanks! I would like to get this PR merged if possible


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2422248159


##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/ui/custom_window.cc:
##########
@@ -52,7 +53,7 @@ LRESULT CALLBACK CustomWindow::WndProc(HWND hwnd, UINT msg, WPARAM wparam,
 
   switch (msg) {
     case WM_NCCREATE: {
-      _ASSERT(lparam != NULL);
+      assert(lparam != NULL);

Review Comment:
   Sure, I have changed to use `ARROW_DCHECK` here.  



##########
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##########
@@ -37,7 +37,8 @@ add_subdirectory(odbc_impl)
 
 arrow_install_all_headers("arrow/flight/sql/odbc")
 
-set(ARROW_FLIGHT_SQL_ODBC_SRCS entry_points.cc odbc_api.cc)
+# Compile entry_points.cc before odbc_api.cc due to conflict from sql.h and flight/types.h
+set(ARROW_FLIGHT_SQL_ODBC_SRCS odbc_api.cc entry_points.cc)

Review Comment:
   Our team discovered the build failure a while ago so I don't have the error log. I have reverted this change. If the build fails because of it then I can send the log here



##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   Sure, I have renamed to `script` folder. 
   
   I am not sure if uninstall scripts are needed in this scenario and I am open to discussion. This script is for testing only. ODBC users will be able to install and uninstall the ODBC driver using a `msi` executable, so they won't need to use the script to install or uninstall the driver. Developers can also manually delete the driver registry if needed. This script can also be run a second time to change the registry to point to a different ODBC dll location, so the driver registry usually doesn't need to be deleted



##########
.github/workflows/cpp.yml:
##########
@@ -476,6 +476,10 @@ jobs:
           PIPX_BASE_PYTHON: ${{ steps.python-install.outputs.python-path }}
         run: |
           ci/scripts/install_gcs_testbench.sh default
+      - name: Register Flight SQL ODBC Driver
+        shell: cmd
+        run: |
+          call "cpp\src\arrow\flight\sql\odbc\install\install_amd64.cmd" ${{github.workspace}}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll

Review Comment:
   Fixed



##########
cpp/src/arrow/flight/sql/odbc/script/install_odbc.cmd:
##########


Review Comment:
   Yea that's fair, I have renamed to `install_odbc`



##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/address_info.h:
##########
@@ -22,6 +22,7 @@
 #include "arrow/flight/sql/odbc/odbc_impl/platform.h"
 
 #include <sys/types.h>
+#include <cstdint>

Review Comment:
   Yes, I think so. I recall it was causing build issues on workflows. The build works with or without this header on my local machine (Windows MSVC), but the CI builds can have problems without the header



##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/system_trust_store.h:
##########


Review Comment:
   I think it can be removed. Fixed



##########
cpp/src/arrow/flight/sql/odbc/install/install_amd64.cmd:
##########
@@ -0,0 +1,53 @@
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements.  See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership.  The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License.  You may obtain a copy of the License at
+@REM
+@REM   http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied.  See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+@echo off
+
+set ODBC_AMD64=%1
+
+@REM enable delayed variable expansion to make environment variables enclosed with "!" to be evaluated 
+@REM when the command is executed instead of when the command is parsed
+setlocal enableextensions enabledelayedexpansion
+
+if [%ODBC_AMD64%] == [] (
+	echo error: 64-bit driver is not specified. Call format: install_amd64 abs_path_to_64_bit_driver
+	pause
+	exit /b 1
+)
+
+if exist %ODBC_AMD64% (
+	for %%i IN (%ODBC_AMD64%) DO IF EXIST %%~si\NUL (
+		echo warning: The path you have specified seems to be a directory. Note that you have to specify path to driver file itself instead.
+	)
+	echo Installing 64-bit driver: %ODBC_AMD64%
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v DriverODBCVer /t REG_SZ /d "03.80" /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v UsageCount /t REG_DWORD /d 00000001 /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v Driver /t REG_SZ /d %ODBC_AMD64% /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Apache Arrow Flight SQL ODBC Driver" /v Setup /t REG_SZ /d %ODBC_AMD64% /f
+	reg add "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" /v "Apache Arrow Flight SQL ODBC Driver" /t REG_SZ /d "Installed" /f
+	
+	IF !ERRORLEVEL! NEQ 0 (

Review Comment:
   `!ERRORLEVEL!`  should be reflecting on the last command executed, so yes `!ERRORLEVEL!` should be non zero if last `reg add` failed. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "lidavidm (via GitHub)" <gi...@apache.org>.
lidavidm commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3408733560

   (FWIW, Kou/Raul are probably busy getting the new release out)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3404045215

   I think all comments have been addressed, please let me know if you have more comments, thanks


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "conbench-apache-arrow[bot] (via GitHub)" <gi...@apache.org>.
conbench-apache-arrow[bot] commented on PR #47689:
URL: https://github.com/apache/arrow/pull/47689#issuecomment-3463265374

   After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 6a08785946a095739938d768aba99ac03dae8d47.
   
   There were no benchmark performance regressions. 🎉
   
   The [full Conbench report](https://github.com/apache/arrow/runs/54009326430) has more details. It also includes information about 9 possible false positives for unstable benchmarks that are known to sometimes produce them.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "raulcd (via GitHub)" <gi...@apache.org>.
raulcd commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2418876804


##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/address_info.h:
##########
@@ -22,6 +22,7 @@
 #include "arrow/flight/sql/odbc/odbc_impl/platform.h"
 
 #include <sys/types.h>
+#include <cstdint>

Review Comment:
   was this missing previously?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GH-46004: [C++][FlightRPC] Enable ODBC Build In C++ Workflows [arrow]

Posted by "alinaliBQ (via GitHub)" <gi...@apache.org>.
alinaliBQ commented on code in PR #47689:
URL: https://github.com/apache/arrow/pull/47689#discussion_r2430809377


##########
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##########
@@ -37,7 +37,8 @@ add_subdirectory(odbc_impl)
 
 arrow_install_all_headers("arrow/flight/sql/odbc")
 
-set(ARROW_FLIGHT_SQL_ODBC_SRCS entry_points.cc odbc_api.cc)
+# Compile entry_points.cc before odbc_api.cc due to conflict from sql.h and flight/types.h
+set(ARROW_FLIGHT_SQL_ODBC_SRCS odbc_api.cc entry_points.cc)

Review Comment:
   I think the build doesn't fail from `set(ARROW_FLIGHT_SQL_ODBC_SRCS entry_points.cc odbc_api.cc)`, resolving this comment



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org