Skip to content

Commit 029cbbf

Browse files
committed
Lint and code style fixes
Re-add deleted submodule parquet-testing clang-format lint fix cpplint lint fix Exclude whereami in rat exclude list C++/CLI lint fix Update parquet-testing to match commit from `main` Address Kou's comments ODBC directory lint fixes Catching the lint fixes outside of `flightsql-odbc` code
1 parent 0abe386 commit 029cbbf

File tree

89 files changed

+1239
-1038
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+1239
-1038
lines changed

cpp/CMakePresets.json

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,6 @@
122122
"ARROW_FLIGHT_SQL": "ON"
123123
}
124124
},
125-
{
126-
"name": "features-flight-sql-odbc",
127-
"inherits": "features-flight-sql",
128-
"hidden": true,
129-
"cacheVariables": {
130-
"ARROW_FLIGHT_SQL_ODBC": "ON"
131-
}
132-
},
133125
{
134126
"name": "features-gandiva",
135127
"inherits": "features-basic",
@@ -186,6 +178,7 @@
186178
"cacheVariables": {
187179
"ARROW_BUILD_EXAMPLES": "ON",
188180
"ARROW_BUILD_UTILITIES": "ON",
181+
"ARROW_FLIGHT_SQL_ODBC": "ON",
189182
"ARROW_SKYHOOK": "ON",
190183
"ARROW_TENSORFLOW": "ON",
191184
"PARQUET_BUILD_EXAMPLES": "ON",
@@ -509,15 +502,6 @@
509502
"displayName": "Release build with Flight SQL",
510503
"cacheVariables": {}
511504
},
512-
{
513-
"name": "ninja-release-flight-sql-odbc",
514-
"inherits": [
515-
"features-flight-sql-odbc",
516-
"base-release"
517-
],
518-
"displayName": "Release build with Flight SQL ODBC",
519-
"cacheVariables": {}
520-
},
521505
{
522506
"name": "ninja-release-gandiva",
523507
"inherits": [

cpp/build-support/lint_cpp_cli.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ def lint_file(path):
7777

7878
EXCLUSIONS = _paths('''\
7979
arrow/arrow-config.cmake
80+
arrow/flight/sql/odbc/flight_sql/get_info_cache.h
81+
arrow/flight/sql/odbc/odbcabstraction/include/odbcabstraction/blocking_queue.h
82+
arrow/flight/sql/odbc/odbcabstraction/include/odbcabstraction/odbc_impl/odbc_handle.h
8083
arrow/python/iterators.h
8184
arrow/util/hashing.h
8285
arrow/util/macros.h

cpp/cmake_modules/DefineOptions.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ takes precedence over ccache if a storage backend is configured" ON)
343343
OFF
344344
DEPENDS
345345
ARROW_FLIGHT_SQL
346-
ARROW_COMPUTE)
346+
ARROW_COMPUTE)
347347

348348
define_option(ARROW_GANDIVA
349349
"Build the Gandiva libraries"

cpp/cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ if(ARROW_AZURE)
410410
set(ARROW_WITH_AZURE_SDK ON)
411411
endif()
412412

413-
if(ARROW_JSON)
413+
if(ARROW_JSON OR ARROW_FLIGHT_SQL_ODBC)
414414
set(ARROW_WITH_RAPIDJSON ON)
415415
endif()
416416

@@ -1261,6 +1261,7 @@ endif()
12611261
if(ARROW_BUILD_INTEGRATION
12621262
OR ARROW_BUILD_TESTS
12631263
OR (ARROW_FLIGHT AND (ARROW_TESTING OR ARROW_BUILD_BENCHMARKS))
1264+
OR ARROW_FLIGHT_SQL_ODBC
12641265
OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS)
12651266
OR (ARROW_TESTING AND ARROW_BUILD_SHARED))
12661267
set(ARROW_USE_BOOST TRUE)
@@ -5562,3 +5563,13 @@ if(ARROW_WITH_AZURE_SDK)
55625563
endif()
55635564

55645565
message(STATUS "All bundled static libraries: ${ARROW_BUNDLED_STATIC_LIBS}")
5566+
5567+
# ----------------------------------------------------------------------
5568+
# Apache Flight SQL ODBC
5569+
5570+
if(ARROW_FLIGHT_SQL_ODBC)
5571+
find_package(ODBC REQUIRED)
5572+
if(MSVC)
5573+
find_package(Boost REQUIRED COMPONENTS locale)
5574+
endif()
5575+
endif()

cpp/src/arrow/flight/sql/odbc/CMakeLists.txt

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,36 +15,22 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
cmake_minimum_required(VERSION 3.16)
19-
set(CMAKE_CXX_STANDARD 17)
20-
2118
add_custom_target(arrow_flight_sql_odbc)
2219

23-
if(CMAKE_BUILD_TYPE STREQUAL "Release")
24-
add_compile_definitions(NDEBUG)
25-
endif()
26-
27-
# Add Boost dependencies. Should be pre-installed (Brew on Mac).
28-
find_package(Boost REQUIRED)
29-
find_package(ODBC REQUIRED)
30-
3120
add_subdirectory(flight_sql)
3221
add_subdirectory(odbcabstraction)
3322
add_subdirectory(tests)
3423

3524
arrow_install_all_headers("arrow/flight/sql/odbc")
3625

37-
set(ARROW_FLIGHT_SQL_ODBC_SRCS
38-
entry_points.cc
39-
odbc_api.cc
40-
)
26+
set(ARROW_FLIGHT_SQL_ODBC_SRCS entry_points.cc odbc_api.cc)
4127

4228
if(WIN32)
4329
list(APPEND ARROW_FLIGHT_SQL_ODBC_SRCS odbc.def)
4430
endif()
4531

4632
if(WIN32)
47-
if (MSVC_VERSION GREATER_EQUAL 1900)
33+
if(MSVC_VERSION GREATER_EQUAL 1900)
4834
set(ODBCINST legacy_stdio_definitions odbccp32 shlwapi)
4935
endif()
5036
elseif(APPLE)
@@ -54,17 +40,31 @@ else()
5440
endif()
5541

5642
add_arrow_lib(arrow_flight_sql_odbc
57-
CMAKE_PACKAGE_NAME ArrowFlightSqlOdbc
58-
PKG_CONFIG_NAME arrow-flight-sql-odbc
59-
OUTPUTS ARROW_FLIGHT_SQL_ODBC_LIBRARIES
60-
SOURCES ${ARROW_FLIGHT_SQL_ODBC_SRCS}
61-
DEPENDENCIES arrow_flight_sql
62-
SHARED_LINK_FLAGS ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt
63-
SHARED_LINK_LIBS arrow_flight_sql_shared
64-
SHARED_INSTALL_INTERFACE_LIBS ArrowFlight::arrow_flight_sql_shared
65-
STATIC_LINK_LIBS arrow_flight_sql_static
66-
STATIC_INSTALL_INTERFACE_LIBS ArrowFlight::arrow_flight_sql_static
67-
SHARED_PRIVATE_LINK_LIBS ${ODBC_LIBRARIES} ${ODBCINST} odbcabstraction arrow_odbc_spi_impl)
43+
CMAKE_PACKAGE_NAME
44+
ArrowFlightSqlOdbc
45+
PKG_CONFIG_NAME
46+
arrow-flight-sql-odbc
47+
OUTPUTS
48+
ARROW_FLIGHT_SQL_ODBC_LIBRARIES
49+
SOURCES
50+
${ARROW_FLIGHT_SQL_ODBC_SRCS}
51+
DEPENDENCIES
52+
arrow_flight_sql
53+
SHARED_LINK_FLAGS
54+
${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt
55+
SHARED_LINK_LIBS
56+
arrow_flight_sql_shared
57+
SHARED_INSTALL_INTERFACE_LIBS
58+
ArrowFlight::arrow_flight_sql_shared
59+
STATIC_LINK_LIBS
60+
arrow_flight_sql_static
61+
STATIC_INSTALL_INTERFACE_LIBS
62+
ArrowFlight::arrow_flight_sql_static
63+
SHARED_PRIVATE_LINK_LIBS
64+
${ODBC_LIBRARIES}
65+
${ODBCINST}
66+
odbcabstraction
67+
arrow_odbc_spi_impl)
6868

6969
foreach(LIB_TARGET ${ARROW_FLIGHT_SQL_ODBC_LIBRARIES})
7070
target_compile_definitions(${LIB_TARGET} PRIVATE ARROW_FLIGHT_SQL_ODBC_EXPORTING)

cpp/src/arrow/flight/sql/odbc/entry_points.cc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,14 @@
2020
#endif
2121

2222
#include <sql.h>
23-
#include <sqltypes.h>
2423
#include <sqlext.h>
24+
#include <sqltypes.h>
2525
#include <sqlucode.h>
2626

2727
#include "arrow/flight/sql/odbc/odbc_api.h"
2828
#include "arrow/flight/sql/odbc/visibility.h"
2929

30-
SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT type, SQLHANDLE parent,
31-
SQLHANDLE* result) {
30+
SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT type, SQLHANDLE parent, SQLHANDLE* result) {
3231
return arrow::SQLAllocHandle(type, parent, result);
3332
}
3433

@@ -53,12 +52,13 @@ SQLRETURN SQL_API SQLFreeConnect(SQLHDBC conn) {
5352
}
5453

5554
SQLRETURN SQL_API SQLDriverConnect(SQLHDBC conn, SQLHWND windowHandle,
56-
SQLWCHAR* inConnectionString,
57-
SQLSMALLINT inConnectionStringLen,
58-
SQLWCHAR* outConnectionString,
59-
SQLSMALLINT outConnectionStringBufferLen,
60-
SQLSMALLINT* outConnectionStringLen,
61-
SQLUSMALLINT driverCompletion) {
62-
// TODO: implement SQLDriverConnect by linking to `odbc_impl` //-AL- TODO: create GitHub issue for SQLDriverConnect implementation
55+
SQLWCHAR* inConnectionString,
56+
SQLSMALLINT inConnectionStringLen,
57+
SQLWCHAR* outConnectionString,
58+
SQLSMALLINT outConnectionStringBufferLen,
59+
SQLSMALLINT* outConnectionStringLen,
60+
SQLUSMALLINT driverCompletion) {
61+
// TODO: implement SQLDriverConnect by linking to `odbc_impl` //-AL- TODO: create GitHub
62+
// issue for SQLDriverConnect implementation
6363
return SQL_INVALID_HANDLE;
6464
}

cpp/src/arrow/flight/sql/odbc/flight_sql/CMakeLists.txt

Lines changed: 17 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,6 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
cmake_minimum_required(VERSION 3.16)
19-
set(CMAKE_CXX_STANDARD 17)
20-
21-
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
22-
23-
include_directories(include include/flight_sql
24-
${CMAKE_SOURCE_DIR}/odbcabstraction/include)
25-
26-
if(DEFINED CMAKE_TOOLCHAIN_FILE)
27-
include(${CMAKE_TOOLCHAIN_FILE})
28-
endif()
29-
30-
find_package(RapidJSON CONFIG REQUIRED)
31-
32-
if(MSVC)
33-
# the following definitions stop arrow from using __declspec when statically
34-
# linking and will break on Windows without them
35-
add_compile_definitions(ARROW_STATIC ARROW_FLIGHT_STATIC)
36-
endif()
37-
38-
enable_testing()
39-
4018
add_library(arrow_odbc_spi_impl
4119
include/flight_sql/flight_sql_driver.h
4220
accessors/binary_array_accessor.cc
@@ -99,42 +77,31 @@ add_library(arrow_odbc_spi_impl
9977
system_trust_store.cc
10078
system_trust_store.h
10179
utils.cc)
80+
target_include_directories(arrow_odbc_spi_impl
81+
PUBLIC include include/flight_sql
82+
${CMAKE_SOURCE_DIR}/odbcabstraction/include)
10283
target_include_directories(arrow_odbc_spi_impl PUBLIC ${CMAKE_CURRENT_LIST_DIR})
10384

10485
if(WIN32)
105-
target_sources(arrow_odbc_spi_impl PRIVATE
106-
include/flight_sql/config/configuration.h
107-
include/flight_sql/config/connection_string_parser.h
108-
include/flight_sql/ui/add_property_window.h
109-
include/flight_sql/ui/custom_window.h
110-
include/flight_sql/ui/dsn_configuration_window.h
111-
include/flight_sql/ui/window.h
112-
config/configuration.cc
113-
config/connection_string_parser.cc
114-
ui/custom_window.cc
115-
ui/window.cc
116-
ui/dsn_configuration_window.cc
117-
ui/add_property_window.cc
118-
system_dsn.cc)
86+
target_sources(arrow_odbc_spi_impl
87+
PRIVATE include/flight_sql/config/configuration.h
88+
include/flight_sql/config/connection_string_parser.h
89+
include/flight_sql/ui/add_property_window.h
90+
include/flight_sql/ui/custom_window.h
91+
include/flight_sql/ui/dsn_configuration_window.h
92+
include/flight_sql/ui/window.h
93+
config/configuration.cc
94+
config/connection_string_parser.cc
95+
ui/custom_window.cc
96+
ui/window.cc
97+
ui/dsn_configuration_window.cc
98+
ui/add_property_window.cc
99+
system_dsn.cc)
119100
endif()
120101

121-
find_package(ArrowFlightSql)
122-
123102
target_link_libraries(arrow_odbc_spi_impl PUBLIC odbcabstraction arrow_flight_sql_shared)
124103

125104
if(MSVC)
126-
set(CMAKE_CXX_FLAGS_RELEASE "/MD")
127-
set(CMAKE_CXX_FLAGS_DEBUG "/MDd")
128-
# else
129-
# target_link_libraries(arrow_odbc_spi_impl PUBLIC ArrowFlightSql::arrow_flight_sql_static)
130-
endif()
131-
132-
# set(ARROW_ODBC_SPI_THIRDPARTY_LIBS
133-
# ${ARROW_LIBS} gRPC::grpc++ ${ZLIB_LIBRARIES} ${Protobuf_LIBRARIES}
134-
# ${OPENSSL_LIBRARIES} ${RapidJSON_LIBRARIES})
135-
136-
if(MSVC)
137-
find_package(Boost REQUIRED COMPONENTS locale)
138105
target_link_libraries(arrow_odbc_spi_impl PUBLIC Boost::locale)
139106
endif()
140107

@@ -146,9 +113,6 @@ set_target_properties(arrow_odbc_spi_impl
146113
RUNTIME_OUTPUT_DIRECTORY
147114
${CMAKE_BINARY_DIR}/$<CONFIG>/lib)
148115

149-
# target_include_directories(arrow_odbc_spi_impl
150-
# PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
151-
152116
# CLI
153117
add_executable(arrow_odbc_spi_impl_cli main.cc)
154118
set_target_properties(arrow_odbc_spi_impl_cli

cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
namespace driver {
2525
namespace flight_sql {
2626

27-
using namespace arrow;
28-
using namespace odbcabstraction;
27+
using arrow::BinaryArray;
28+
using odbcabstraction::RowStatus;
2929

3030
namespace {
3131

@@ -71,7 +71,8 @@ BinaryArrayFlightSqlAccessor<TARGET_TYPE>::BinaryArrayFlightSqlAccessor(Array* a
7171
BinaryArrayFlightSqlAccessor<TARGET_TYPE>>(array) {}
7272

7373
template <>
74-
RowStatus BinaryArrayFlightSqlAccessor<CDataType_BINARY>::MoveSingleCell_impl(
74+
RowStatus
75+
BinaryArrayFlightSqlAccessor<odbcabstraction::CDataType_BINARY>::MoveSingleCell_impl(
7576
ColumnBinding* binding, int64_t arrow_row, int64_t i, int64_t& value_offset,
7677
bool update_value_offset, odbcabstraction::Diagnostics& diagnostics) {
7778
return MoveSingleCellToBinaryBuffer(binding, this->GetArray(), arrow_row, i,

cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
namespace driver {
2525
namespace flight_sql {
2626

27-
using namespace arrow;
28-
using namespace odbcabstraction;
27+
using arrow::BinaryArray;
28+
using odbcabstraction::RowStatus;
2929

3030
template <CDataType TARGET_TYPE>
3131
class BinaryArrayFlightSqlAccessor

cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor_test.cc

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,24 @@
2323
namespace driver {
2424
namespace flight_sql {
2525

26-
using namespace arrow;
27-
using namespace odbcabstraction;
26+
using arrow::BinaryType;
27+
using odbcabstraction::OdbcVersion;
28+
29+
using arrow::ArrayFromVector;
2830

2931
TEST(BinaryArrayAccessor, Test_CDataType_BINARY_Basic) {
3032
std::vector<std::string> values = {"foo", "barx", "baz123"};
3133
std::shared_ptr<Array> array;
3234
ArrayFromVector<BinaryType, std::string>(values, &array);
3335

34-
BinaryArrayFlightSqlAccessor<CDataType_BINARY> accessor(array.get());
36+
BinaryArrayFlightSqlAccessor<odbcabstraction::CDataType_BINARY> accessor(array.get());
3537

3638
size_t max_strlen = 64;
3739
std::vector<char> buffer(values.size() * max_strlen);
3840
std::vector<ssize_t> strlen_buffer(values.size());
3941

40-
ColumnBinding binding(CDataType_BINARY, 0, 0, buffer.data(), max_strlen,
41-
strlen_buffer.data());
42+
ColumnBinding binding(odbcabstraction::CDataType_BINARY, 0, 0, buffer.data(),
43+
max_strlen, strlen_buffer.data());
4244

4345
int64_t value_offset = 0;
4446
odbcabstraction::Diagnostics diagnostics("Foo", "Foo", OdbcVersion::V_3);
@@ -61,14 +63,14 @@ TEST(BinaryArrayAccessor, Test_CDataType_BINARY_Truncation) {
6163
std::shared_ptr<Array> array;
6264
ArrayFromVector<BinaryType, std::string>(values, &array);
6365

64-
BinaryArrayFlightSqlAccessor<CDataType_BINARY> accessor(array.get());
66+
BinaryArrayFlightSqlAccessor<odbcabstraction::CDataType_BINARY> accessor(array.get());
6567

6668
size_t max_strlen = 8;
6769
std::vector<char> buffer(values.size() * max_strlen);
6870
std::vector<ssize_t> strlen_buffer(values.size());
6971

70-
ColumnBinding binding(CDataType_BINARY, 0, 0, buffer.data(), max_strlen,
71-
strlen_buffer.data());
72+
ColumnBinding binding(odbcabstraction::CDataType_BINARY, 0, 0, buffer.data(),
73+
max_strlen, strlen_buffer.data());
7274

7375
std::stringstream ss;
7476
int64_t value_offset = 0;

0 commit comments

Comments
 (0)