File tree Expand file tree Collapse file tree
src/arrow/flight/sql/odbc/tests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -194,6 +194,8 @@ jobs:
194194 ARROW_BUILD_TESTS : ON
195195 ARROW_DATASET : ON
196196 ARROW_FLIGHT : ON
197+ ARROW_FLIGHT_SQL : ON
198+ ARROW_FLIGHT_SQL_ODBC : ON
197199 ARROW_GANDIVA : ON
198200 ARROW_GCS : ON
199201 ARROW_HDFS : ON
@@ -230,6 +232,9 @@ jobs:
230232 brew uninstall pkg-config || :
231233 brew uninstall pkg-config@0.29.2 || :
232234 brew bundle --file=cpp/Brewfile
235+ export LIBIODBC_DIR="$(brew --cellar libiodbc)/$(brew list --versions libiodbc | awk '{print $2}')"
236+ echo ODBC_INCLUDE_DIR="$LIBIODBC_DIR/include" >> $GITHUB_ENV
237+ echo ODBC_LIB_DIR="$LIBIODBC_DIR/lib" >> $GITHUB_ENV
233238 - name : Install MinIO
234239 run : |
235240 $(brew --prefix bash)/bin/bash \
@@ -271,6 +276,10 @@ jobs:
271276 export BUILD_WARNING_LEVEL=PRODUCTION
272277 fi
273278 ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
279+ - name : Register Flight SQL ODBC Driver
280+ run : |
281+ chmod +x cpp/src/arrow/flight/sql/odbc/install/mac/install_odbc.sh
282+ sudo cpp/src/arrow/flight/sql/odbc/install/mac/install_odbc.sh $(pwd)/build/debug/libarrow_flight_sql_odbc.dylib
274283 - name : Test
275284 shell : bash
276285 run : |
@@ -390,6 +399,10 @@ jobs:
390399 PIPX_BASE_PYTHON : ${{ steps.python-install.outputs.python-path }}
391400 run : |
392401 ci/scripts/install_gcs_testbench.sh default
402+ - name : Register Flight SQL ODBC Driver
403+ shell : cmd
404+ run : |
405+ call "cpp\src\arrow\flight\sql\odbc\tests\install_odbc.cmd" ${{ github.workspace }}\build\cpp\%ARROW_BUILD_TYPE%\libarrow_flight_sql_odbc.dll
393406 - name : Test
394407 shell : msys2 {0}
395408 run : |
Original file line number Diff line number Diff line change 260260 -DCMAKE_BUILD_TYPE=${ARROW_BUILD_TYPE:- debug} \
261261 -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:- OFF} \
262262 -DCMAKE_C_FLAGS=" ${CFLAGS:- } " \
263- -DCMAKE_CXX_FLAGS=" ${CXXFLAGS:- } " \
263+ -DCMAKE_CXX_FLAGS=" ${CXXFLAGS:- } -I ${ODBC_INCLUDE_DIR :- } -L ${ODBC_LIB_DIR :- } " \
264264 -DCMAKE_CXX_STANDARD=" ${CMAKE_CXX_STANDARD:- 17} " \
265265 -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:- lib} \
266266 -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:- ${ARROW_HOME} } \
271271 -DgRPC_SOURCE=${gRPC_SOURCE:- } \
272272 -DGTest_SOURCE=${GTest_SOURCE:- } \
273273 -Dlz4_SOURCE=${lz4_SOURCE:- } \
274+ -DODBC_INCLUDE_DIR=" ${ODBC_INCLUDE_DIR:- } " \
274275 -Dopentelemetry-cpp_SOURCE=${opentelemetry_cpp_SOURCE:- } \
275276 -DORC_SOURCE=${ORC_SOURCE:- } \
276277 -DPARQUET_BUILD_EXAMPLES=${PARQUET_BUILD_EXAMPLES:- OFF} \
Original file line number Diff line number Diff line change @@ -61,6 +61,7 @@ case "$(uname)" in
6161 n_jobs=$( sysctl -n hw.ncpu)
6262 # TODO: https://github.com/apache/arrow/issues/40410
6363 exclude_tests+=(" arrow-s3fs-test" )
64+ exclude_tests+=(" arrow-flight-sql-odbc-test" )
6465 ;;
6566 MINGW* )
6667 n_jobs=${NUMBER_OF_PROCESSORS:- 1}
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ brew "git"
2828brew "glog"
2929brew "googletest"
3030brew "grpc"
31+ brew "libiodbc"
3132brew "llvm"
3233brew "lz4"
3334brew "mimalloc"
Original file line number Diff line number Diff line change @@ -107,8 +107,8 @@ macro(tsort_bool_option_dependencies)
107107endmacro ()
108108
109109macro (resolve_option_dependencies )
110- # Arrow Flight SQL ODBC is available only for Windows for now.
111- if (NOT WIN32 )
110+ # Arrow Flight SQL ODBC is available only for Windows and macOS for now.
111+ if (NOT WIN32 AND NOT APPLE )
112112 set (ARROW_FLIGHT_SQL_ODBC OFF )
113113 endif ()
114114 if (MSVC_TOOLCHAIN)
Original file line number Diff line number Diff line change 1717
1818add_custom_target (tests )
1919
20- include_directories (${ODBC_INCLUDE_DIRS} )
20+ if (WIN32 )
21+ include_directories (${ODBC_INCLUDE_DIRS} )
22+ else ()
23+ include_directories (${ODBC_INCLUDE_DIR} )
24+ endif ()
2125
2226find_package (SQLite3Alt REQUIRED )
2327
You can’t perform that action at this time.
0 commit comments