Skip to content

Commit aad41f2

Browse files
authored
Upgrade C++ Arrow to 21.0.0 (#548)
1 parent f423a28 commit aad41f2

13 files changed

+31
-16
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ jobs:
115115
if: runner.os == 'Linux' && matrix.arch == 'x64'
116116
run: |
117117
docker run -d --name centos --entrypoint tail -v $PWD:$PWD -v $VCPKG_INSTALLATION_ROOT:$VCPKG_INSTALLATION_ROOT quay.io/pypa/manylinux2014_x86_64 -f /dev/null
118-
docker exec centos sh -c "yum install -y devtoolset-7 rh-git227 httpd24-curl flex bison perl-Data-Dumper perl-IPC-Cmd && \
118+
docker exec centos sh -c "yum install -y devtoolset-10 rh-git227 httpd24-curl flex bison perl-Data-Dumper perl-IPC-Cmd && \
119119
curl -fsSL -o /tmp/cmake.sh https://github.com/Kitware/CMake/releases/download/v${{ steps.cmake-info.outputs.version }}/cmake-${{ steps.cmake-info.outputs.version }}-linux-x86_64.sh && \
120120
sh /tmp/cmake.sh --skip-license --prefix=/usr/local && \
121121
rm /tmp/cmake.sh"
@@ -150,7 +150,7 @@ jobs:
150150
if: runner.os == 'Linux' || runner.os == 'macOS'
151151
run: |
152152
if [ "${{ runner.os }}" == "Linux" ] && [ "${{ matrix.arch }}" == "x64" ]; then
153-
exec="docker exec -w $PWD -e GITHUB_ACTIONS -e ACTIONS_CACHE_URL -e ACTIONS_RUNTIME_TOKEN -e VCPKG_BINARY_SOURCES -e VCPKG_INSTALLATION_ROOT centos scl enable devtoolset-7 rh-git227 httpd24 --"
153+
exec="docker exec -w $PWD -e GITHUB_ACTIONS -e ACTIONS_CACHE_URL -e ACTIONS_RUNTIME_TOKEN -e VCPKG_BINARY_SOURCES -e VCPKG_INSTALLATION_ROOT centos scl enable devtoolset-10 rh-git227 httpd24 --"
154154
fi
155155
$exec ./build_unix.sh ${{ matrix.arch }}
156156
env:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ dotnet jb cleanupcode "csharp" "csharp.test" "csharp.benchmark" --profile="Built
270270
Building ParquetSharp natively requires the following dependencies:
271271
- A modern C++ compiler toolchain
272272
- .NET SDK 8.0
273-
- Apache Arrow (20.0.0)
273+
- Apache Arrow (21.0.0)
274274

275275
For building Arrow (including Parquet) and its dependencies, we recommend using Microsoft's [vcpkg](https://vcpkg.io).
276276
The build scripts will use an existing vcpkg installation if either of the `VCPKG_INSTALLATION_ROOT` or `VCPKG_ROOT` environment variables are defined, otherwise vcpkg will be downloaded into the build directory.

cpp/ColumnDecryptionPropertiesBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ extern "C"
1616

1717
PARQUETSHARP_EXPORT ExceptionInfo* ColumnDecryptionPropertiesBuilder_Create_From_Column_Path(const std::shared_ptr<schema::ColumnPath>* path, ColumnDecryptionProperties::Builder** builder)
1818
{
19-
TRYCATCH(*builder = new ColumnDecryptionProperties::Builder(*path);)
19+
TRYCATCH(*builder = new ColumnDecryptionProperties::Builder(**path);)
2020
}
2121

2222
PARQUETSHARP_EXPORT void ColumnDecryptionPropertiesBuilder_Free(ColumnDecryptionProperties::Builder* builder)

cpp/ColumnEncryptionPropertiesBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ extern "C"
1616

1717
PARQUETSHARP_EXPORT ExceptionInfo* ColumnEncryptionPropertiesBuilder_Create_From_Column_Path(const std::shared_ptr<schema::ColumnPath>* path, ColumnEncryptionProperties::Builder** builder)
1818
{
19-
TRYCATCH(*builder = new ColumnEncryptionProperties::Builder(*path);)
19+
TRYCATCH(*builder = new ColumnEncryptionProperties::Builder(**path);)
2020
}
2121

2222
PARQUETSHARP_EXPORT void ColumnEncryptionPropertiesBuilder_Free(ColumnEncryptionProperties::Builder* builder)

cpp/Enums.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ namespace
5353
static_assert(LogicalType::Type::BSON == 13);
5454
static_assert(LogicalType::Type::UUID == 14);
5555
static_assert(LogicalType::Type::FLOAT16 == 15);
56-
static_assert(LogicalType::Type::NONE == 16);
56+
static_assert(LogicalType::Type::GEOMETRY == 16);
57+
static_assert(LogicalType::Type::GEOGRAPHY == 17);
58+
static_assert(LogicalType::Type::VARIANT == 18);
59+
static_assert(LogicalType::Type::NONE == 19);
5760

5861
static_assert(ParquetCipher::AES_GCM_V1 == 0);
5962
static_assert(ParquetCipher::AES_GCM_CTR_V1 == 1);

cpp/FileDecryptionPropertiesBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ extern "C"
3737
m.insert(std::make_pair((*column_decryption_properties[i])->column_path(), (*column_decryption_properties[i])));
3838
}
3939

40-
builder->column_keys(m);
40+
builder->column_keys(std::move(m));
4141
)
4242
}
4343

cpp/FileEncryptionPropertiesBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ extern "C"
6060
m.insert(std::make_pair((*column_encryption_properties[i])->column_path(), (*column_encryption_properties[i])));
6161
}
6262

63-
builder->encrypted_columns(m);
63+
builder->encrypted_columns(std::move(m));
6464
)
6565
}
6666

csharp.test/TestPhysicalTypeRoundtrip.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ private static void AssertReadRoundtrip(ResizableBuffer buffer, ExpectedColumn[]
163163

164164
var numRows = expectedColumns.First().Values.Length;
165165

166-
Assert.AreEqual("parquet-cpp-arrow version 20.0.0", fileMetaData.CreatedBy);
166+
Assert.AreEqual("parquet-cpp-arrow version 21.0.0", fileMetaData.CreatedBy);
167167
Assert.AreEqual(new Dictionary<string, string> {{"case", "Test"}, {"Awesome", "true"}}, fileMetaData.KeyValueMetadata);
168168
Assert.AreEqual(expectedColumns.Length, fileMetaData.NumColumns);
169169
Assert.AreEqual(numRows, fileMetaData.NumRows);
@@ -174,7 +174,7 @@ private static void AssertReadRoundtrip(ResizableBuffer buffer, ExpectedColumn[]
174174
// The parquet format only stores an integer file version (1 or 2) and
175175
// 2 gets mapped to the latest 2.x version.
176176
Assert.AreEqual(ParquetVersion.PARQUET_2_6, fileMetaData.Version);
177-
Assert.AreEqual("parquet-cpp-arrow version 20.0.0", fileMetaData.WriterVersion.ToString());
177+
Assert.AreEqual("parquet-cpp-arrow version 21.0.0", fileMetaData.WriterVersion.ToString());
178178

179179
using var rowGroupReader = fileReader.RowGroup(0);
180180
var rowGroupMetaData = rowGroupReader.MetaData;

csharp.test/TestWriterProperties.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public static void TestDefaultProperties()
1414
{
1515
var p = WriterProperties.GetDefaultWriterProperties();
1616

17-
Assert.AreEqual("parquet-cpp-arrow version 20.0.0", p.CreatedBy);
17+
Assert.AreEqual("parquet-cpp-arrow version 21.0.0", p.CreatedBy);
1818
Assert.AreEqual(Compression.Uncompressed, p.Compression(new ColumnPath("anypath")));
1919
Assert.AreEqual(int.MinValue, p.CompressionLevel(new ColumnPath("anypath")));
2020
Assert.AreEqual(1024 * 1024, p.DataPageSize);

csharp/LogicalType.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ public enum LogicalTypeEnum
2222
Uuid = 14,
2323
None = 15,
2424
Float16 = 16,
25+
Geometry = 17,
26+
Geography = 18,
27+
Variant = 19,
2528
}
2629

2730
/// <summary>
@@ -47,7 +50,10 @@ internal enum CppLogicalTypeEnum
4750
Bson = 13,
4851
Uuid = 14,
4952
Float16 = 15,
50-
None = 16,
53+
Geometry = 16,
54+
Geography = 17,
55+
Variant = 18,
56+
None = 19,
5157
}
5258

5359
internal static class CppLogicalTypeEnumExtensions
@@ -72,6 +78,9 @@ public static LogicalTypeEnum ToPublicEnum(this CppLogicalTypeEnum enumValue)
7278
CppLogicalTypeEnum.Bson => LogicalTypeEnum.Bson,
7379
CppLogicalTypeEnum.Uuid => LogicalTypeEnum.Uuid,
7480
CppLogicalTypeEnum.Float16 => LogicalTypeEnum.Float16,
81+
CppLogicalTypeEnum.Geometry => LogicalTypeEnum.Geometry,
82+
CppLogicalTypeEnum.Geography => LogicalTypeEnum.Geography,
83+
CppLogicalTypeEnum.Variant => LogicalTypeEnum.Variant,
7584
CppLogicalTypeEnum.None => LogicalTypeEnum.None,
7685
_ => throw new ArgumentOutOfRangeException(nameof(enumValue), enumValue, null)
7786
};

0 commit comments

Comments
 (0)