From 2151c48fbc16ffcb308cd1599ac64f802713f851 Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" Date: Mon, 12 May 2025 15:01:08 -0700 Subject: [PATCH] Fix build warnings that get treated as error --- .../flight_sql/accessors/binary_array_accessor_test.cc | 2 +- .../flight_sql/accessors/string_array_accessor_test.cc | 5 +++-- cpp/src/arrow/flight/sql/odbc/flight_sql/address_info.cc | 2 +- .../flight/sql/odbc/flight_sql/json_converter_test.cc | 9 ++++++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor_test.cc b/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor_test.cc index e7b4ac362d4..647b9b9fe52 100644 --- a/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor_test.cc +++ b/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/binary_array_accessor_test.cc @@ -96,7 +96,7 @@ TEST(BinaryArrayAccessor, Test_CDataType_BINARY_Truncation) { // It's safe to create a std::string from this data because we know it's // ASCII, this doesn't work with arbitrary binary data. ss << std::string(buffer.data(), buffer.data() + chunk_length); - } while (value_offset < values[0].length() && value_offset != -1); + } while (value_offset < static_cast(values[0].length()) && value_offset != -1); ASSERT_EQ(values[0], ss.str()); } diff --git a/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/string_array_accessor_test.cc b/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/string_array_accessor_test.cc index ed7e9ad663e..8b568bbffcf 100644 --- a/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/string_array_accessor_test.cc +++ b/cpp/src/arrow/flight/sql/odbc/flight_sql/accessors/string_array_accessor_test.cc @@ -85,7 +85,7 @@ TEST(StringArrayAccessor, Test_CDataType_CHAR_Truncation) { ASSERT_EQ(values[0].length() - original_value_offset, strlen_buffer[0]); ss << buffer.data(); - } while (value_offset < values[0].length() && value_offset != -1); + } while (value_offset < static_cast(values[0].length()) && value_offset != -1); ASSERT_EQ(values[0], ss.str()); } @@ -154,7 +154,8 @@ TEST(StringArrayAccessor, Test_CDataType_WCHAR_Truncation) { length = buffer.size(); } finalStr.insert(finalStr.end(), buffer.data(), buffer.data() + length); - } while (value_offset < values[0].length() * GetSqlWCharSize() && value_offset != -1); + } while (value_offset < static_cast(values[0].length() * GetSqlWCharSize()) && + value_offset != -1); // Trim final null bytes finalStr.resize(values[0].length() * GetSqlWCharSize()); diff --git a/cpp/src/arrow/flight/sql/odbc/flight_sql/address_info.cc b/cpp/src/arrow/flight/sql/odbc/flight_sql/address_info.cc index 51d51323c77..9d782c57e96 100644 --- a/cpp/src/arrow/flight/sql/odbc/flight_sql/address_info.cc +++ b/cpp/src/arrow/flight/sql/odbc/flight_sql/address_info.cc @@ -34,7 +34,7 @@ bool AddressInfo::GetAddressInfo(const std::string& host, char* host_name_info, } error = getnameinfo(addrinfo_result_->ai_addr, addrinfo_result_->ai_addrlen, - host_name_info, max_host, NULL, 0, 0); + host_name_info, static_cast(max_host), NULL, 0, 0); return error == 0; } diff --git a/cpp/src/arrow/flight/sql/odbc/flight_sql/json_converter_test.cc b/cpp/src/arrow/flight/sql/odbc/flight_sql/json_converter_test.cc index 1ba1e8297e6..d5e018ecd47 100644 --- a/cpp/src/arrow/flight/sql/odbc/flight_sql/json_converter_test.cc +++ b/cpp/src/arrow/flight/sql/odbc/flight_sql/json_converter_test.cc @@ -68,14 +68,17 @@ TEST(ConvertToJson, Int16) { TEST(ConvertToJson, Int32) { ASSERT_EQ("2147483647", ConvertToJson(arrow::Int32Scalar(2147483647))); - ASSERT_EQ("-2147483648", ConvertToJson(arrow::Int32Scalar(-2147483648))); + // 2147483648 is not valid as a signed int, using workaround + ASSERT_EQ("-2147483648", + ConvertToJson(arrow::Int32Scalar(static_cast(-2147483647 - 1)))); } TEST(ConvertToJson, Int64) { ASSERT_EQ("9223372036854775807", ConvertToJson(arrow::Int64Scalar(9223372036854775807LL))); - ASSERT_EQ("-9223372036854775808", - ConvertToJson(arrow::Int64Scalar(-9223372036854775808ULL))); + // 9223372036854775808ULL is not valid as a signed int64, using workaround + ASSERT_EQ("-9223372036854775808", ConvertToJson(arrow::Int64Scalar(static_cast( + -9223372036854775807LL - 1)))); } TEST(ConvertToJson, UInt8) {