From 94c6a82e66a8cc2c4628558499155352b51edf8f Mon Sep 17 00:00:00 2001 From: Marco Arguedas Date: Mon, 26 Jan 2026 12:08:41 -0600 Subject: [PATCH] Updating to the latest version of DBPA library - where 'UNDEFINED' was removed from 'enums.h' --- cpp/src/parquet/CMakeLists.txt | 2 +- .../encryption/external/dbpa_enum_utils.cc | 6 ++++-- .../external/dbpa_enum_utils_test.cc | 19 +++++++++++-------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/cpp/src/parquet/CMakeLists.txt b/cpp/src/parquet/CMakeLists.txt index fb135209f97..86d8a95a9c1 100644 --- a/cpp/src/parquet/CMakeLists.txt +++ b/cpp/src/parquet/CMakeLists.txt @@ -281,7 +281,7 @@ if(PARQUET_REQUIRE_ENCRYPTION) GIT_REPOSITORY https://github.com/protegrity/DataBatchProtectionService.git #TODO: Change to a specific tag/commit when we have one. #https://github.com/protegrity/arrow/issues/179 - GIT_TAG 4c808b2233ed0bc04529c3b0dbf7c214c4901043 + GIT_TAG 6206fb0e27556a0df9160364caa3819e4af3fe0f GIT_SHALLOW FALSE) fetchcontent_getproperties(dbps_agent) diff --git a/cpp/src/parquet/encryption/external/dbpa_enum_utils.cc b/cpp/src/parquet/encryption/external/dbpa_enum_utils.cc index 3f9fd7177c3..c5c824da5fd 100644 --- a/cpp/src/parquet/encryption/external/dbpa_enum_utils.cc +++ b/cpp/src/parquet/encryption/external/dbpa_enum_utils.cc @@ -37,8 +37,10 @@ const std::unordered_map {parquet::Type::FLOAT, dbps::external::Type::FLOAT}, {parquet::Type::DOUBLE, dbps::external::Type::DOUBLE}, {parquet::Type::BYTE_ARRAY, dbps::external::Type::BYTE_ARRAY}, - {parquet::Type::FIXED_LEN_BYTE_ARRAY, dbps::external::Type::FIXED_LEN_BYTE_ARRAY}, - {parquet::Type::UNDEFINED, dbps::external::Type::UNDEFINED}}; + {parquet::Type::FIXED_LEN_BYTE_ARRAY, dbps::external::Type::FIXED_LEN_BYTE_ARRAY}}; + // parquet::Type::UNDEFINED is excluded as it is not a + // Parquet type per-se, but rather a value used in exception cases. + // ------------------------------------------------------------ // arrow::Compression -> dbps::external::CompressionCodec diff --git a/cpp/src/parquet/encryption/external/dbpa_enum_utils_test.cc b/cpp/src/parquet/encryption/external/dbpa_enum_utils_test.cc index 5b1fb42d45d..387e722c782 100644 --- a/cpp/src/parquet/encryption/external/dbpa_enum_utils_test.cc +++ b/cpp/src/parquet/encryption/external/dbpa_enum_utils_test.cc @@ -97,15 +97,16 @@ TEST_F(DBPAUtilsTest, AllValidTypeMappings) { parquet::Type::BOOLEAN, parquet::Type::INT32, parquet::Type::INT64, parquet::Type::INT96, parquet::Type::FLOAT, parquet::Type::DOUBLE, - parquet::Type::BYTE_ARRAY, parquet::Type::FIXED_LEN_BYTE_ARRAY, - parquet::Type::UNDEFINED}; + parquet::Type::BYTE_ARRAY, parquet::Type::FIXED_LEN_BYTE_ARRAY}; - // Ensure that the map is complete. - ASSERT_EQ(valid_parquet_types.size(), parquet_type_enum_size_); + // Ensure that the map is complete (excluding UNDEFINED) + ASSERT_EQ(valid_parquet_types.size(), parquet_type_enum_size_ - 1); for (auto parquet_type : valid_parquet_types) { EXPECT_NO_THROW(DBPAEnumUtils::ParquetTypeToDBPA(parquet_type)); } + + EXPECT_THROW(DBPAEnumUtils::ParquetTypeToDBPA(parquet::Type::UNDEFINED), std::invalid_argument); } TEST_F(DBPAUtilsTest, AllValidCompressionMappings) { @@ -131,13 +132,15 @@ TEST_F(DBPAUtilsTest, MapSizeAssertions) { // Parquet::Type::type assertions EXPECT_EQ(parquet_type_enum_size_, 9) - << "Expected 9 parquet type mappings (excluding UNDEFINED)"; + << "Expected 9 parquet type mappings"; - EXPECT_EQ(parquet_type_enum_size_, DBPAEnumUtils::parquet_to_external_type_map.size()) + // Excluding UNDEFINED + EXPECT_EQ(parquet_type_enum_size_ - 1, DBPAEnumUtils::parquet_to_external_type_map.size()) << "Expected 9 parquet type mappings (excluding UNDEFINED)"; - EXPECT_EQ(DBPAEnumUtils::parquet_to_external_type_map.size(), 9) - << "Expected 9 parquet type mappings (excluding UNDEFINED)"; + // Excluding UNDEFINED + EXPECT_EQ(DBPAEnumUtils::parquet_to_external_type_map.size(), 8) + << "Expected 8 parquet type mappings (excluding UNDEFINED)"; // Arrow::Compression::type assertions EXPECT_EQ(DBPAEnumUtils::arrow_to_external_compression_map.size(), 10)