Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cpp/cmake_modules/DefineOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ takes precedence over ccache if a storage backend is configured" ON)
ARROW_FLIGHT)

define_option(ARROW_FLIGHT_SQL_ODBC
"Build the Arrow Flight SQL ODBC extension"
"Build the Arrow Flight SQL ODBC driver"
OFF
DEPENDS
ARROW_FLIGHT_SQL
Expand Down
23 changes: 9 additions & 14 deletions cpp/src/arrow/flight/sql/odbc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)

set(CPACK_WIX_UI_BANNER
"${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
set(ODBC_DOC_INSTALL_DIR "doc")
else()
if(APPLE)
set(CPACK_PACKAGE_FILE_NAME
Expand All @@ -191,13 +192,8 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)

set(ODBC_INSTALL_DIR "arrow-odbc/lib")
set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
else()
# Linux
# GH-49595: TODO implement DEB installer
# GH-47977: TODO implement RPM installer
message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
endif()
# GH-49595: TODO implement DEB installer under `linux-packages`

# Install ODBC
install(TARGETS arrow_flight_sql_odbc_shared
Expand Down Expand Up @@ -225,15 +221,15 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
GROUP_READ
WORLD_EXECUTE
WORLD_READ)

# Install documentation files
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../NOTICE.txt"
"${CMAKE_CURRENT_SOURCE_DIR}/connection-options.md"
DESTINATION "${ODBC_DOC_INSTALL_DIR}"
COMPONENT Docs)
endif()

# Install documentation files
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../NOTICE.txt"
"${CMAKE_CURRENT_SOURCE_DIR}/connection-options.md"
DESTINATION "${ODBC_DOC_INSTALL_DIR}"
COMPONENT Docs)

get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC" "Docs")

Expand All @@ -250,7 +246,6 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
# macOS and Linux
set(CPACK_GENERATOR "productbuild")
endif()
# GH-47877 TODO: create Linux Installer using cpack

# Load CPack after all CPACK* variables are set
include(CPack)
Expand Down
9 changes: 9 additions & 0 deletions cpp/src/arrow/flight/sql/odbc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,15 @@ After ODBC has been registered, you can run the ODBC tests. It is recommended to
.\cpp\build\< release | debug >\< Release | Debug>\arrow-flight-sql-odbc-test.exe
```
## Installers
ODBC Windows and macOS installers are uploaded to the CI artifacts for developer use.
| Operating System | Package Format |
|------------------|----------------|
| Windows | MSI |
| macOS | PKG |
## Known Limitations
- Conversion from timestamp data type with specified time zone value to strings is not supported at the moment. This doesn't impact driver's usage of retrieving timestamp data from Power BI on Windows, and Excel on macOS and Windows. See GH-47504 for more context.
Expand Down
2 changes: 2 additions & 0 deletions dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,7 @@ odbcinst -u -d -n "Apache Arrow Flight SQL ODBC Driver"
%files -n %{name}%{so_version}-flight-sql-odbc-libs
%defattr(-,root,root,-)
%doc README.md
%doc cpp/src/arrow/flight/sql/odbc/connection-options.md
%license LICENSE.txt NOTICE.txt
%{_datadir}/arrow/flight/sql/odbc/arrow-flight-sql-odbc-template.ini
%{_libdir}/libarrow_flight_sql_odbc.so.*
Expand All @@ -526,6 +527,7 @@ Libraries and header files for Apache Arrow Flight SQL ODBC driver.
%files flight-sql-odbc-devel
%defattr(-,root,root,-)
%doc README.md
%doc cpp/src/arrow/flight/sql/odbc/connection-options.md
%license LICENSE.txt NOTICE.txt
%{_includedir}/arrow/flight/sql/odbc/
%{_libdir}/cmake/ArrowFlightSqlOdbc/
Expand Down
Loading