HuaHuaY commented on PR #337:
URL: https://github.com/apache/iceberg-cpp/pull/337#issuecomment-3569534283

   Convert this PR to a draft.
   
   I have no idea how to fix the ODR violation now. I make sure that header 
file will not expose Arrow's API but the `dynamic_cast` in Arrow's function in 
the unit tests still returns nullptr.
   
   I ran `nm -g -C --defined-only build/src/iceberg/libiceberg_bundle.dylib | 
grep -i typeinfo` in my local macOS. We can find that there are many symbols 
from Arrow/Avro/Parquet which should not be exported in our library. 
   
   After discussing this with Gemini, it told me that these symbols might come 
from templates instantiated in our library. Gemini suggests to use 
`--version-script` but it seems that version script only works on linux (Arrow 
also writes a version script on linux). There are some similar flags on Windows 
and Apple, but I'm not familiar with them and need some time to learn.
   
   Alternatively, another approach is to convert static dependencies like 
Arrow/Avro/Parquet into dynamic libraries when we decide to build iceberg-cpp 
shared library, but I'm unsure whether this method is acceptable. This also 
requires us to modify the installation script and install these dependent 
dynamic link libraries.
   
   ```shell
   ❯ nm -g -C --defined-only build/src/iceberg/libiceberg_bundle.dylib | grep 
-i typeinfo         
   00000000018d6690 S 
std::__1::__any_imp::__unique_typeinfo<avro::GenericMap>::__id
   00000000018d5bc8 S 
std::__1::__any_imp::__unique_typeinfo<avro::GenericEnum>::__id
   00000000018d6fb0 S 
std::__1::__any_imp::__unique_typeinfo<avro::GenericArray>::__id
   00000000018d6680 S 
std::__1::__any_imp::__unique_typeinfo<avro::GenericFixed>::__id
   00000000018d5c00 S 
std::__1::__any_imp::__unique_typeinfo<avro::GenericUnion>::__id
   00000000018d6688 S 
std::__1::__any_imp::__unique_typeinfo<avro::GenericRecord>::__id
   00000000018d74f0 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::shared_ptr<avro::Node>>::__id
   00000000018d7ce4 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::shared_ptr<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>::__id
   00000000018d61e0 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::shared_ptr<std::__1::map<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>, avro::json::Entity, 
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char>>>, 
std::__1::allocator<std::__1::pair<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char>> const, 
avro::json::Entity>>>>>::__id
   00000000018d4ac4 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::shared_ptr<std::__1::vector<avro::json::Entity,
 std::__1::allocator<avro::json::Entity>>>>::__id
   00000000018d732c S 
std::__1::__any_imp::__unique_typeinfo<std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol,
 std::__1::allocator<avro::parsing::Symbol>>>>::__id
   00000000018d7928 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::shared_ptr<std::__1::vector<unsigned
 char, std::__1::allocator<unsigned char>>>>::__id
   00000000018d6658 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char>>>::__id
   00000000018d7764 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::pair<avro::parsing::Symbol::Kind,
 avro::parsing::Symbol::Kind>>::__id
   00000000018d7aac S 
std::__1::__any_imp::__unique_typeinfo<std::__1::pair<std::__1::shared_ptr<avro::Node>,
 std::__1::shared_ptr<avro::Node>>>::__id
   00000000018d7bd0 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::pair<std::__1::vector<int, 
std::__1::allocator<int>>, std::__1::vector<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char>>, 
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char>>>>>>::__id
   00000000018d7500 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::pair<unsigned long, 
std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol, 
std::__1::allocator<avro::parsing::Symbol>>>>>::__id
   00000000018d72d4 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::tuple<std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol,
 std::__1::allocator<avro::parsing::Symbol>>>, 
std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol, 
std::__1::allocator<avro::parsing::Symbol>>>>>::__id
   00000000018d7958 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::tuple<std::__1::stack<long, 
std::__1::deque<long, std::__1::allocator<long>>>, bool, 
std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol, 
std::__1::allocator<avro::parsing::Symbol>>>, 
std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol, 
std::__1::allocator<avro::parsing::Symbol>>>>>::__id
   00000000018d7418 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::vector<std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol,
 std::__1::allocator<avro::parsing::Symbol>>>, 
std::__1::allocator<std::__1::shared_ptr<std::__1::vector<avro::parsing::Symbol,
 std::__1::allocator<avro::parsing::Symbol>>>>>>::__id
   00000000018d6660 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::vector<unsigned char, 
std::__1::allocator<unsigned char>>>::__id
   00000000018d7950 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::vector<unsigned long, 
std::__1::allocator<unsigned long>>>::__id
   00000000018d74f8 S 
std::__1::__any_imp::__unique_typeinfo<std::__1::weak_ptr<std::__1::vector<avro::parsing::Symbol,
 std::__1::allocator<avro::parsing::Symbol>>>>::__id
   00000000018d5bac S std::__1::__any_imp::__unique_typeinfo<bool>::__id
   00000000018d5ba8 S std::__1::__any_imp::__unique_typeinfo<double>::__id
   00000000018d6650 S std::__1::__any_imp::__unique_typeinfo<float>::__id
   00000000018d5ba0 S std::__1::__any_imp::__unique_typeinfo<int>::__id
   00000000018d72d8 S std::__1::__any_imp::__unique_typeinfo<unsigned 
long>::__id
   00000000018d7c88 S std::__1::__any_imp::__unique_typeinfo<long long>::__id
   0000000001a74f08 S typeinfo for avro::NodeRecord
   0000000001a74ef0 S typeinfo for avro::NodeSymbolic
   0000000001a756e0 S typeinfo for avro::BinaryDecoder
   0000000001a754d8 S typeinfo for avro::BinaryEncoder
   0000000001a74df0 S typeinfo for avro::NodePrimitive
   0000000001a74b28 S typeinfo for avro::CustomLogicalType
   0000000001a74af0 S typeinfo for avro::Node
   0000000001a75120 S typeinfo for avro::NodeMap
   0000000001a75cb8 S typeinfo for avro::parsing::ValidatingGrammarGenerator
   0000000001a75008 S typeinfo for avro::NodeEnum
   0000000001a75108 S typeinfo for avro::NodeArray
   0000000001a75320 S typeinfo for avro::NodeFixed
   0000000001a75220 S typeinfo for avro::NodeUnion
   0000000001a58d50 S typeinfo for arrow::BinaryType
   0000000001a59b50 S typeinfo for arrow::Date32Type
   0000000001a59b68 S typeinfo for arrow::Date64Type
   0000000001a59b08 S typeinfo for arrow::DoubleType
   0000000001a5e890 S typeinfo for arrow::MapBuilder
   0000000001a728e0 S typeinfo for arrow::MemoryPool
   0000000001a59218 S typeinfo for arrow::NestedType
   0000000001a59840 S typeinfo for arrow::NumberType
   0000000001a58f18 S typeinfo for arrow::StringType
   0000000001a59c18 S typeinfo for arrow::StructType
   0000000001a59bb8 S typeinfo for arrow::Time32Type
   0000000001a59bd0 S typeinfo for arrow::Time64Type
   0000000001a5a178 S typeinfo for arrow::UInt16Type
   0000000001a5a228 S typeinfo for arrow::UInt32Type
   0000000001a5a2d8 S typeinfo for arrow::UInt64Type
   0000000001a59d88 S typeinfo for arrow::BooleanType
   0000000001a591a0 S typeinfo for arrow::DecimalType
   0000000001a598c0 S typeinfo for arrow::IntegerType
   0000000001a5ea28 S typeinfo for arrow::NullBuilder
   0000000001a56ed8 S typeinfo for arrow::RecordBatch
   0000000001a57e30 S typeinfo for arrow::SparseIndex
   0000000001a5db30 S typeinfo for arrow::ArrayBuilder
   0000000001a59250 S typeinfo for arrow::BaseListType
   0000000001a59730 S typeinfo for arrow::DurationType
   0000000001a59698 S typeinfo for arrow::IntervalType
   0000000001a59418 S typeinfo for arrow::ListViewType
   0000000001a59580 S typeinfo for arrow::TemporalType
   0000000001a59c30 S typeinfo for arrow::Decimal32Type
   0000000001a59c48 S typeinfo for arrow::Decimal64Type
   0000000001a568c8 S typeinfo for arrow::ExtensionType
   0000000001a599d8 S typeinfo for arrow::HalfFloatType
   0000000001a593a0 S typeinfo for arrow::LargeListType
   0000000001a564c0 S typeinfo for arrow::MemoryManager
   0000000001a5e8c0 S typeinfo for arrow::StructBuilder
   0000000001a595f8 S typeinfo for arrow::TimestampType
   0000000001a58d38 S typeinfo for arrow::BaseBinaryType
   0000000001a58e28 S typeinfo for arrow::BinaryViewType
   0000000001a5ea50 S typeinfo for arrow::BooleanBuilder
   0000000001a59c60 S typeinfo for arrow::Decimal128Type
   0000000001a59c78 S typeinfo for arrow::Decimal256Type
   0000000001a59c90 S typeinfo for arrow::DictionaryType
   0000000001a59080 S typeinfo for arrow::FixedWidthType
   0000000001a597c8 S typeinfo for arrow::PrimitiveCType
   0000000001a57e88 S typeinfo for arrow::SparseCOOIndex
   0000000001a57e58 S typeinfo for arrow::SparseCSFIndex
   0000000001a58f90 S typeinfo for arrow::StringViewType
   0000000001a5e718 S typeinfo for arrow::BaseListBuilder<arrow::LargeListType>
   0000000001a5e668 S typeinfo for arrow::BaseListBuilder<arrow::ListType>
   0000000001a58ea0 S typeinfo for arrow::LargeBinaryType
   0000000001a59008 S typeinfo for arrow::LargeStringType
   0000000001a72978 S typeinfo for arrow::ProxyMemoryPool
   0000000001a73b88 S typeinfo for arrow::TimestampParser
   0000000001a565e0 S typeinfo for arrow::CPUMemoryManager
   0000000001a5dee8 S typeinfo for arrow::Decimal32Builder
   0000000001a5df00 S typeinfo for arrow::Decimal64Builder
   0000000001a580b8 S typeinfo for arrow::TableBatchReader
   0000000001a5eb08 S typeinfo for arrow::BasicUnionBuilder
   0000000001a5dc68 S typeinfo for arrow::BinaryViewBuilder
   0000000001a5df18 S typeinfo for arrow::Decimal128Builder
   0000000001a5df30 S typeinfo for arrow::Decimal256Builder
   0000000001a5eba0 S typeinfo for arrow::DenseUnionBuilder
   0000000001a59508 S typeinfo for arrow::FixedSizeListType
   0000000001a59940 S typeinfo for arrow::FloatingPointType
   0000000001a59490 S typeinfo for arrow::LargeListViewType
   0000000001a728f0 S typeinfo for arrow::LoggingMemoryPool
   0000000001a56ee8 S typeinfo for arrow::RecordBatchReader
   0000000001a59c00 S typeinfo for arrow::RunEndEncodedType
   0000000001a5da98 S typeinfo for arrow::AdaptiveIntBuilder
   0000000001a5ec38 S typeinfo for arrow::SparseUnionBuilder
   0000000001a5da80 S typeinfo for arrow::AdaptiveUIntBuilder
   0000000001a5e7c8 S typeinfo for 
arrow::BaseListViewBuilder<arrow::ListViewType>
   0000000001a5e878 S typeinfo for 
arrow::BaseListViewBuilder<arrow::LargeListViewType>
   0000000001a59108 S typeinfo for arrow::FixedSizeBinaryType
   0000000001a57618 S typeinfo for arrow::RunEndEncodedScalar
   0000000001a5e8a8 S typeinfo for arrow::FixedSizeListBuilder
   0000000001a5e110 S typeinfo for arrow::RunEndEncodedBuilder
   0000000001a5dcd0 S typeinfo for arrow::FixedSizeBinaryBuilder
   0000000001a5e5a0 S typeinfo for 
arrow::VarLengthListLikeBuilder<arrow::ListViewType>
   0000000001a5e588 S typeinfo for 
arrow::VarLengthListLikeBuilder<arrow::LargeListType>
   0000000001a5e5b8 S typeinfo for 
arrow::VarLengthListLikeBuilder<arrow::LargeListViewType>
   0000000001a5e570 S typeinfo for 
arrow::VarLengthListLikeBuilder<arrow::ListType>
   0000000001a68d58 S typeinfo for arrow::fs::FileSystem
   0000000001a68d98 S typeinfo for arrow::fs::SlowFileSystem
   0000000001a69dc0 S typeinfo for arrow::fs::LocalFileSystem
   0000000001a68d80 S typeinfo for arrow::fs::SubTreeFileSystem
   0000000001a6ade0 S typeinfo for arrow::fs::internal::MockFileSystem
   0000000001a6adf8 S typeinfo for arrow::fs::internal::MockAsyncFileSystem
   0000000001a6e8b0 S typeinfo for arrow::io::InputStream
   0000000001a6fc30 S typeinfo for arrow::io::BufferReader
   0000000001a6d068 S typeinfo for arrow::io::ReadableFile
   0000000001a6e6e0 S typeinfo for arrow::io::FileInterface
   0000000001a70258 S typeinfo for arrow::io::SlowInputStream
   0000000001a6d138 S typeinfo for arrow::io::FileOutputStream
   0000000001a70030 S typeinfo for arrow::io::LatencyGenerator
   0000000001a6d6e0 S typeinfo for arrow::io::MemoryMappedFile
   0000000001a6f628 S typeinfo for arrow::io::MockOutputStream
   0000000001a6ea18 S typeinfo for arrow::io::RandomAccessFile
   0000000001a6f6f8 S typeinfo for arrow::io::BufferOutputStream
   0000000001a6c588 S typeinfo for arrow::io::BufferedInputStream
   0000000001a6c330 S typeinfo for arrow::io::BufferedOutputStream
   0000000001a705d0 S typeinfo for arrow::io::SlowRandomAccessFile
   0000000001a6f888 S typeinfo for arrow::io::FixedSizeBufferWriter
   0000000001a6e788 S typeinfo for arrow::io::Readable
   0000000001a6e740 S typeinfo for arrow::io::Writable
   0000000001a70f70 S typeinfo for arrow::ipc::StreamDecoder
   0000000001a706f8 S typeinfo for arrow::ipc::MessageDecoder
   0000000001a72140 S typeinfo for arrow::ipc::RecordBatchWriter
   0000000001a706e8 S typeinfo for arrow::ipc::MessageDecoderListener
   0000000001a70b50 S typeinfo for arrow::ipc::Listener
   0000000001a72188 S typeinfo for arrow::ipc::internal::IpcPayloadWriter
   0000000001a70f58 S typeinfo for 
arrow::ipc::internal::IoRecordedRandomAccessFile
   0000000001a73090 S typeinfo for arrow::util::Codec
   0000000001a73718 S typeinfo for arrow::util::ArrowLog
   0000000001a58c28 S typeinfo for arrow::Field
   0000000001a56478 S typeinfo for arrow::Device
   0000000001a59cc8 S typeinfo for arrow::Schema
   0000000001a58ba0 S typeinfo for arrow::detail::Fingerprintable
   0000000001a59b20 S typeinfo for arrow::MapType
   0000000001a64460 S typeinfo for arrow::compute::MetaFunction
   0000000001a644c8 S typeinfo for arrow::compute::FunctionOptionsType
   0000000001a643e8 S typeinfo for arrow::compute::Function
   0000000001a63810 S typeinfo for arrow::compute::internal::CastFunction
   0000000001a64700 S typeinfo for arrow::compute::internal::GenericOptionsType
   0000000001a58bd0 S typeinfo for arrow::DataType
   0000000001a59e38 S typeinfo for arrow::Int8Type
   0000000001a59268 S typeinfo for arrow::ListType
   0000000001a58cc0 S typeinfo for arrow::NullType
   0000000001a59b80 S typeinfo for arrow::TimeType
   0000000001a73930 S typeinfo for arrow::internal::ThreadPool
   0000000001a73918 S typeinfo for arrow::internal::SerialExecutor
   0000000001a5dca8 S typeinfo for arrow::internal::ChunkedBinaryBuilder
   0000000001a5dcb8 S typeinfo for arrow::internal::ChunkedStringBuilder
   0000000001a5e0f8 S typeinfo for arrow::internal::RunCompressorBuilder
   0000000001a5da68 S typeinfo for arrow::internal::AdaptiveIntBuilderBase
   0000000001a73908 S typeinfo for arrow::internal::Executor
   0000000001a73328 S typeinfo for arrow::internal::SelfPipe
   0000000001a56550 S typeinfo for arrow::CPUDevice
   0000000001a59a70 S typeinfo for arrow::FloatType
   0000000001a59ee8 S typeinfo for arrow::Int16Type
   0000000001a59f68 S typeinfo for arrow::Int32Type
   0000000001a5a018 S typeinfo for arrow::Int64Type
   0000000001a5a0c8 S typeinfo for arrow::UInt8Type
   0000000001a59be8 S typeinfo for arrow::UnionType
   0000000001a72630 S typeinfo for arrow::extension::OpaqueType
   0000000001a56bc8 S typeinfo for arrow::extension::JsonExtensionType
   0000000001a724b8 S typeinfo for arrow::extension::FixedShapeTensorType
   0000000001a56d08 S typeinfo for arrow::extension::UuidType
   0000000001a56a50 S typeinfo for arrow::extension::Bool8Type
   0000000001a74160 S typeinfo for apache::thrift::protocol::TProtocolFactory
   0000000001a74120 S typeinfo for apache::thrift::protocol::TProtocol
   0000000001a743f8 S typeinfo for apache::thrift::transport::TMemoryBuffer
   0000000001a74340 S typeinfo for apache::thrift::transport::TFramedTransport
   0000000001a74268 S typeinfo for apache::thrift::transport::TBufferedTransport
   0000000001a74198 S typeinfo for 
apache::thrift::transport::TTransportException
   0000000001a247c0 S typeinfo for iceberg::avro::AvroReader
   0000000001a24c40 S typeinfo for iceberg::avro::AvroWriter
   0000000001a23fa0 S typeinfo for iceberg::arrow::ArrowFileSystemFileIO
   0000000001a26760 S typeinfo for iceberg::parquet::ParquetReader
   0000000001a26f20 S typeinfo for iceberg::parquet::ParquetWriter
   0000000001a4a6c0 S typeinfo for parquet::LogicalType::Impl::Int
   0000000001a4a628 S typeinfo for parquet::LogicalType::Impl::Time
   0000000001a4a5f0 S typeinfo for parquet::LogicalType::Impl::Decimal
   0000000001a4a7b8 S typeinfo for parquet::LogicalType::Impl::Variant
   0000000001a4a720 S typeinfo for parquet::LogicalType::Impl::Geometry
   0000000001a4a758 S typeinfo for parquet::LogicalType::Impl::Geography
   0000000001a4a688 S typeinfo for parquet::LogicalType::Impl::Timestamp
   0000000001a4a7f0 S typeinfo for parquet::LogicalType
   0000000001a45298 S typeinfo for parquet::StringKeyIdRetriever
   0000000001a2cde8 S typeinfo for parquet::BlockSplitBloomFilter
   0000000001a2dee8 S typeinfo for parquet::RowGroupBloomFilterReaderImpl
   0000000001a2cac0 S typeinfo for parquet::arrow::FileWriter
   0000000001a2c930 S typeinfo for parquet::arrow::VariantExtensionType
   0000000001a47d98 S typeinfo for parquet::format::PageHeader
   0000000001a47b68 S typeinfo for parquet::format::Statistics
   0000000001a47b78 S typeinfo for parquet::format::StringType
   0000000001a47e98 S typeinfo for parquet::format::AesGcmCtrV1
   0000000001a47b48 S typeinfo for parquet::format::BoundingBox
   0000000001a47e18 S typeinfo for parquet::format::ColumnChunk
   0000000001a47e78 S typeinfo for parquet::format::ColumnIndex
   0000000001a47e48 S typeinfo for parquet::format::ColumnOrder
   0000000001a47bf8 S typeinfo for parquet::format::DecimalType
   0000000001a47bd8 S typeinfo for parquet::format::Float16Type
   0000000001a47cc8 S typeinfo for parquet::format::LogicalType
   0000000001a47c28 S typeinfo for parquet::format::NanoSeconds
   0000000001a47e68 S typeinfo for parquet::format::OffsetIndex
   0000000001a47c98 S typeinfo for parquet::format::VariantType
   0000000001a47eb8 S typeinfo for parquet::format::FileMetaData
   0000000001a47ca8 S typeinfo for parquet::format::GeometryType
   0000000001a47c18 S typeinfo for parquet::format::MicroSeconds
   0000000001a47c08 S typeinfo for parquet::format::MilliSeconds
   0000000001a47e58 S typeinfo for parquet::format::PageLocation
   0000000001a47d68 S typeinfo for parquet::format::Uncompressed
   0000000001a47cb8 S typeinfo for parquet::format::GeographyType
   0000000001a47cd8 S typeinfo for parquet::format::SchemaElement
   0000000001a47db8 S typeinfo for parquet::format::SortingColumn
   0000000001a47c48 S typeinfo for parquet::format::TimestampType
   0000000001a47dd8 S typeinfo for parquet::format::ColumnMetaData
   0000000001a47ce8 S typeinfo for parquet::format::DataPageHeader
   0000000001a47b38 S typeinfo for parquet::format::SizeStatistics
   0000000001a47d58 S typeinfo for parquet::format::BloomFilterHash
   0000000001a47cf8 S typeinfo for parquet::format::IndexPageHeader
   0000000001a47d18 S typeinfo for parquet::format::DataPageHeaderV2
   0000000001a47e38 S typeinfo for parquet::format::TypeDefinedOrder
   0000000001a47d88 S typeinfo for parquet::format::BloomFilterHeader
   0000000001a47dc8 S typeinfo for parquet::format::PageEncodingStats
   0000000001a47ec8 S typeinfo for parquet::format::FileCryptoMetaData
   0000000001a47ea8 S typeinfo for parquet::format::EncryptionAlgorithm
   0000000001a47d28 S typeinfo for parquet::format::SplitBlockAlgorithm
   0000000001a47d38 S typeinfo for parquet::format::BloomFilterAlgorithm
   0000000001a47e08 S typeinfo for parquet::format::ColumnCryptoMetaData
   0000000001a47d08 S typeinfo for parquet::format::DictionaryPageHeader
   0000000001a47b58 S typeinfo for parquet::format::GeospatialStatistics
   0000000001a47d78 S typeinfo for parquet::format::BloomFilterCompression
   0000000001a47df8 S typeinfo for parquet::format::EncryptionWithColumnKey
   0000000001a47de8 S typeinfo for parquet::format::EncryptionWithFooterKey
   0000000001a47d48 S typeinfo for parquet::format::XxHash
   0000000001a47c68 S typeinfo for parquet::format::IntType
   0000000001a47b98 S typeinfo for parquet::format::MapType
   0000000001a47e88 S typeinfo for parquet::format::AesGcmV1
   0000000001a47c88 S typeinfo for parquet::format::BsonType
   0000000001a47bc8 S typeinfo for parquet::format::DateType
   0000000001a47bb8 S typeinfo for parquet::format::EnumType
   0000000001a47c78 S typeinfo for parquet::format::JsonType
   0000000001a47da8 S typeinfo for parquet::format::KeyValue
   0000000001a47ba8 S typeinfo for parquet::format::ListType
   0000000001a47be8 S typeinfo for parquet::format::NullType
   0000000001a47e28 S typeinfo for parquet::format::RowGroup
   0000000001a47c58 S typeinfo for parquet::format::TimeType
   0000000001a47c38 S typeinfo for parquet::format::TimeUnit
   0000000001a47b88 S typeinfo for parquet::format::UUIDType
   0000000001a47f58 S typeinfo for parquet::schema::PrimitiveNode
   0000000001a47f70 S typeinfo for parquet::schema::GroupNode
   0000000001a46010 S typeinfo for parquet::XxHasher
   00000000018d650e S typeinfo name for avro::NodeRecord
   00000000018d64f8 S typeinfo name for avro::NodeSymbolic
   00000000018d6a32 S typeinfo name for avro::BinaryDecoder
   00000000018d69c0 S typeinfo name for avro::BinaryEncoder
   00000000018d64da S typeinfo name for avro::NodePrimitive
   00000000018d640a S typeinfo name for avro::CustomLogicalType
   00000000018d634a S typeinfo name for avro::Node
   00000000018d6545 S typeinfo name for avro::NodeMap
   00000000018d724a S typeinfo name for 
avro::parsing::ValidatingGrammarGenerator
   00000000018d6522 S typeinfo name for avro::NodeEnum
   00000000018d6533 S typeinfo name for avro::NodeArray
   00000000018d6575 S typeinfo name for avro::NodeFixed
   00000000018d655c S typeinfo name for avro::NodeUnion
   00000000018a8fdc S typeinfo name for arrow::BinaryType
   00000000018a92b1 S typeinfo name for arrow::Date32Type
   00000000018a92d8 S typeinfo name for arrow::Date64Type
   00000000018a9285 S typeinfo name for arrow::DoubleType
   00000000018ad1c6 S typeinfo name for arrow::MapBuilder
   00000000018c8729 S typeinfo name for arrow::MemoryPool
   00000000018a9114 S typeinfo name for arrow::NestedType
   00000000018a9206 S typeinfo name for arrow::NumberType
   00000000018a903d S typeinfo name for arrow::StringType
   00000000018a9358 S typeinfo name for arrow::StructType
   00000000018a92ff S typeinfo name for arrow::Time32Type
   00000000018a9314 S typeinfo name for arrow::Time64Type
   00000000018a964c S typeinfo name for arrow::UInt16Type
   00000000018a96b5 S typeinfo name for arrow::UInt32Type
   00000000018a971e S typeinfo name for arrow::UInt64Type
   00000000018a9457 S typeinfo name for arrow::BooleanType
   00000000018a90d5 S typeinfo name for arrow::DecimalType
   00000000018a921b S typeinfo name for arrow::IntegerType
   00000000018ad278 S typeinfo name for arrow::NullBuilder
   00000000018a7030 S typeinfo name for arrow::RecordBatch
   00000000018a88f8 S typeinfo name for arrow::SparseIndex
   00000000018aca06 S typeinfo name for arrow::ArrayBuilder
   00000000018a90fd S typeinfo name for arrow::BaseListType
   00000000018a91d6 S typeinfo name for arrow::DurationType
   00000000018a91bf S typeinfo name for arrow::IntervalType
   00000000018a9141 S typeinfo name for arrow::ListViewType
   00000000018a9190 S typeinfo name for arrow::TemporalType
   00000000018a936d S typeinfo name for arrow::Decimal32Type
   00000000018a9385 S typeinfo name for arrow::Decimal64Type
   00000000018a6a1c S typeinfo name for arrow::ExtensionType
   00000000018a924d S typeinfo name for arrow::HalfFloatType
   00000000018a9129 S typeinfo name for arrow::LargeListType
   00000000018a658f S typeinfo name for arrow::MemoryManager
   00000000018ad1fa S typeinfo name for arrow::StructBuilder
   00000000018a91a7 S typeinfo name for arrow::TimestampType
   00000000018a8ff1 S typeinfo name for arrow::BaseBinaryType
   00000000018a900a S typeinfo name for arrow::BinaryViewType
   00000000018ad28e S typeinfo name for arrow::BooleanBuilder
   00000000018a939d S typeinfo name for arrow::Decimal128Type
   00000000018a93b6 S typeinfo name for arrow::Decimal256Type
   00000000018a93cf S typeinfo name for arrow::DictionaryType
   00000000018a9085 S typeinfo name for arrow::FixedWidthType
   00000000018a91ed S typeinfo name for arrow::PrimitiveCType
   00000000018a8960 S typeinfo name for arrow::SparseCOOIndex
   00000000018a890e S typeinfo name for arrow::SparseCSFIndex
   00000000018a9052 S typeinfo name for arrow::StringViewType
   00000000018ad12e S typeinfo name for 
arrow::BaseListBuilder<arrow::LargeListType>
   00000000018ad105 S typeinfo name for arrow::BaseListBuilder<arrow::ListType>
   00000000018a9023 S typeinfo name for arrow::LargeBinaryType
   00000000018a906b S typeinfo name for arrow::LargeStringType
   00000000018c873e S typeinfo name for arrow::ProxyMemoryPool
   00000000018d1120 S typeinfo name for arrow::TimestampParser
   00000000018a65f5 S typeinfo name for arrow::CPUMemoryManager
   00000000018acb29 S typeinfo name for arrow::Decimal32Builder
   00000000018acb44 S typeinfo name for arrow::Decimal64Builder
   00000000018a8ae0 S typeinfo name for arrow::TableBatchReader
   00000000018ad2f9 S typeinfo name for arrow::BasicUnionBuilder
   00000000018aca30 S typeinfo name for arrow::BinaryViewBuilder
   00000000018acb5f S typeinfo name for arrow::Decimal128Builder
   00000000018acb7b S typeinfo name for arrow::Decimal256Builder
   00000000018ad315 S typeinfo name for arrow::DenseUnionBuilder
   00000000018a9174 S typeinfo name for arrow::FixedSizeListType
   00000000018a9231 S typeinfo name for arrow::FloatingPointType
   00000000018a9158 S typeinfo name for arrow::LargeListViewType
   00000000018c870d S typeinfo name for arrow::LoggingMemoryPool
   00000000018a7046 S typeinfo name for arrow::RecordBatchReader
   00000000018a933c S typeinfo name for arrow::RunEndEncodedType
   00000000018ac9d8 S typeinfo name for arrow::AdaptiveIntBuilder
   00000000018ad331 S typeinfo name for arrow::SparseUnionBuilder
   00000000018ac9ba S typeinfo name for arrow::AdaptiveUIntBuilder
   00000000018ad15d S typeinfo name for 
arrow::BaseListViewBuilder<arrow::ListViewType>
   00000000018ad18f S typeinfo name for 
arrow::BaseListViewBuilder<arrow::LargeListViewType>
   00000000018a909e S typeinfo name for arrow::FixedSizeBinaryType
   00000000018a76e0 S typeinfo name for arrow::RunEndEncodedScalar
   00000000018ad1db S typeinfo name for arrow::FixedSizeListBuilder
   00000000018acf6d S typeinfo name for arrow::RunEndEncodedBuilder
   00000000018aca9c S typeinfo name for arrow::FixedSizeBinaryBuilder
   00000000018ad092 S typeinfo name for 
arrow::VarLengthListLikeBuilder<arrow::ListViewType>
   00000000018ad05a S typeinfo name for 
arrow::VarLengthListLikeBuilder<arrow::LargeListType>
   00000000018ad0c9 S typeinfo name for 
arrow::VarLengthListLikeBuilder<arrow::LargeListViewType>
   00000000018ad028 S typeinfo name for 
arrow::VarLengthListLikeBuilder<arrow::ListType>
   00000000018be0b7 S typeinfo name for arrow::fs::FileSystem
   00000000018be129 S typeinfo name for arrow::fs::SlowFileSystem
   00000000018c0190 S typeinfo name for arrow::fs::LocalFileSystem
   00000000018be10a S typeinfo name for arrow::fs::SubTreeFileSystem
   00000000018c2a1a S typeinfo name for arrow::fs::internal::MockFileSystem
   00000000018c29f0 S typeinfo name for arrow::fs::internal::MockAsyncFileSystem
   00000000018c3d0f S typeinfo name for arrow::io::InputStream
   00000000018c44d0 S typeinfo name for arrow::io::BufferReader
   00000000018c36fa S typeinfo name for arrow::io::ReadableFile
   00000000018c3c8c S typeinfo name for arrow::io::FileInterface
   00000000018c4663 S typeinfo name for arrow::io::SlowInputStream
   00000000018c3714 S typeinfo name for arrow::io::FileOutputStream
   00000000018c4610 S typeinfo name for arrow::io::LatencyGenerator
   00000000018c3756 S typeinfo name for arrow::io::MemoryMappedFile
   00000000018c444a S typeinfo name for arrow::io::MockOutputStream
   00000000018c3d28 S typeinfo name for arrow::io::RandomAccessFile
   00000000018c4468 S typeinfo name for arrow::io::BufferOutputStream
   00000000018c33e2 S typeinfo name for arrow::io::BufferedInputStream
   00000000018c3370 S typeinfo name for arrow::io::BufferedOutputStream
   00000000018c4680 S typeinfo name for arrow::io::SlowRandomAccessFile
   00000000018c44a7 S typeinfo name for arrow::io::FixedSizeBufferWriter
   00000000018c3cfa S typeinfo name for arrow::io::Readable
   00000000018c3ce5 S typeinfo name for arrow::io::Writable
   00000000018c4cfc S typeinfo name for arrow::ipc::StreamDecoder
   00000000018c4791 S typeinfo name for arrow::ipc::MessageDecoder
   00000000018c78d4 S typeinfo name for arrow::ipc::RecordBatchWriter
   00000000018c476c S typeinfo name for arrow::ipc::MessageDecoderListener
   00000000018c4cb4 S typeinfo name for arrow::ipc::Listener
   00000000018c78f4 S typeinfo name for arrow::ipc::internal::IpcPayloadWriter
   00000000018c4cca S typeinfo name for 
arrow::ipc::internal::IoRecordedRandomAccessFile
   00000000018ca875 S typeinfo name for arrow::util::Codec
   00000000018d0acb S typeinfo name for arrow::util::ArrowLog
   00000000018a8f8d S typeinfo name for arrow::Field
   00000000018a651d S typeinfo name for arrow::Device
   00000000018a93e8 S typeinfo name for arrow::Schema
   00000000018a8ef4 S typeinfo name for arrow::detail::Fingerprintable
   00000000018a92a0 S typeinfo name for arrow::MapType
   00000000018b6a8a S typeinfo name for arrow::compute::MetaFunction
   00000000018b6aa9 S typeinfo name for arrow::compute::FunctionOptionsType
   00000000018b6a70 S typeinfo name for arrow::compute::Function
   00000000018b5ff8 S typeinfo name for arrow::compute::internal::CastFunction
   00000000018b6d8a S typeinfo name for 
arrow::compute::internal::GenericOptionsType
   00000000018a8f15 S typeinfo name for arrow::DataType
   00000000018a9470 S typeinfo name for arrow::Int8Type
   00000000018a90eb S typeinfo name for arrow::ListType
   00000000018a8fca S typeinfo name for arrow::NullType
   00000000018a92ed S typeinfo name for arrow::TimeType
   00000000018d0c76 S typeinfo name for arrow::internal::ThreadPool
   00000000018d0c54 S typeinfo name for arrow::internal::SerialExecutor
   00000000018aca74 S typeinfo name for arrow::internal::ChunkedBinaryBuilder
   00000000018aca4c S typeinfo name for arrow::internal::ChunkedStringBuilder
   00000000018acf45 S typeinfo name for arrow::internal::RunCompressorBuilder
   00000000018ac990 S typeinfo name for arrow::internal::AdaptiveIntBuilderBase
   00000000018d0c39 S typeinfo name for arrow::internal::Executor
   00000000018d05a2 S typeinfo name for arrow::internal::SelfPipe
   00000000018a65e2 S typeinfo name for arrow::CPUDevice
   00000000018a926e S typeinfo name for arrow::FloatType
   00000000018a94d0 S typeinfo name for arrow::Int16Type
   00000000018a9533 S typeinfo name for arrow::Int32Type
   00000000018a9546 S typeinfo name for arrow::Int64Type
   00000000018a95a9 S typeinfo name for arrow::UInt8Type
   00000000018a9329 S typeinfo name for arrow::UnionType
   00000000018c8628 S typeinfo name for arrow::extension::OpaqueType
   00000000018a6bad S typeinfo name for arrow::extension::JsonExtensionType
   00000000018c7ee1 S typeinfo name for arrow::extension::FixedShapeTensorType
   00000000018a6c78 S typeinfo name for arrow::extension::UuidType
   00000000018a6acf S typeinfo name for arrow::extension::Bool8Type
   00000000018d48c4 S typeinfo name for 
apache::thrift::protocol::TProtocolFactory
   00000000018d48a0 S typeinfo name for apache::thrift::protocol::TProtocol
   00000000018d4a30 S typeinfo name for apache::thrift::transport::TMemoryBuffer
   00000000018d49aa S typeinfo name for 
apache::thrift::transport::TFramedTransport
   00000000018d4920 S typeinfo name for 
apache::thrift::transport::TBufferedTransport
   00000000018d48f0 S typeinfo name for 
apache::thrift::transport::TTransportException
   00000000018dac40 S typeinfo name for iceberg::avro::AvroReader
   00000000018dc120 S typeinfo name for iceberg::avro::AvroWriter
   00000000018d7fa0 S typeinfo name for iceberg::arrow::ArrowFileSystemFileIO
   00000000018e1620 S typeinfo name for iceberg::parquet::ParquetReader
   00000000018e43e0 S typeinfo name for iceberg::parquet::ParquetWriter
   00000000018a1cb4 S typeinfo name for parquet::LogicalType::Impl::Int
   00000000018a1c3c S typeinfo name for parquet::LogicalType::Impl::Time
   00000000018a1bc5 S typeinfo name for parquet::LogicalType::Impl::Decimal
   00000000018a1d4d S typeinfo name for parquet::LogicalType::Impl::Variant
   00000000018a1cd5 S typeinfo name for parquet::LogicalType::Impl::Geometry
   00000000018a1d26 S typeinfo name for parquet::LogicalType::Impl::Geography
   00000000018a1c5e S typeinfo name for parquet::LogicalType::Impl::Timestamp
   00000000018a1d9d S typeinfo name for parquet::LogicalType
   000000000189c29d S typeinfo name for parquet::StringKeyIdRetriever
   0000000001892bdc S typeinfo name for parquet::BlockSplitBloomFilter
   000000000189320b S typeinfo name for parquet::RowGroupBloomFilterReaderImpl
   00000000018927b0 S typeinfo name for parquet::arrow::FileWriter
   00000000018926ba S typeinfo name for parquet::arrow::VariantExtensionType
   000000000189fcf8 S typeinfo name for parquet::format::PageHeader
   000000000189f8ac S typeinfo name for parquet::format::Statistics
   000000000189f8ca S typeinfo name for parquet::format::StringType
   000000000189ff0d S typeinfo name for parquet::format::AesGcmCtrV1
   000000000189f865 S typeinfo name for parquet::format::BoundingBox
   000000000189fe17 S typeinfo name for parquet::format::ColumnChunk
   000000000189fed3 S typeinfo name for parquet::format::ColumnIndex
   000000000189fe75 S typeinfo name for parquet::format::ColumnOrder
   000000000189f9a8 S typeinfo name for parquet::format::DecimalType
   000000000189f96e S typeinfo name for parquet::format::Float16Type
   000000000189fb2d S typeinfo name for parquet::format::LogicalType
   000000000189fa07 S typeinfo name for parquet::format::NanoSeconds
   000000000189feb4 S typeinfo name for parquet::format::OffsetIndex
   000000000189facd S typeinfo name for parquet::format::VariantType
   000000000189ff53 S typeinfo name for parquet::format::FileMetaData
   000000000189faec S typeinfo name for parquet::format::GeometryType
   000000000189f9e7 S typeinfo name for parquet::format::MicroSeconds
   000000000189f9c7 S typeinfo name for parquet::format::MilliSeconds
   000000000189fe94 S typeinfo name for parquet::format::PageLocation
   000000000189fc89 S typeinfo name for parquet::format::Uncompressed
   000000000189fb0c S typeinfo name for parquet::format::GeographyType
   000000000189fb4c S typeinfo name for parquet::format::SchemaElement
   000000000189fd31 S typeinfo name for parquet::format::SortingColumn
   000000000189fa41 S typeinfo name for parquet::format::TimestampType
   000000000189fd77 S typeinfo name for parquet::format::ColumnMetaData
   000000000189fb6d S typeinfo name for parquet::format::DataPageHeader
   000000000189f843 S typeinfo name for parquet::format::SizeStatistics
   000000000189fc66 S typeinfo name for parquet::format::BloomFilterHash
   000000000189fb8f S typeinfo name for parquet::format::IndexPageHeader
   000000000189fbda S typeinfo name for parquet::format::DataPageHeaderV2
   000000000189fe51 S typeinfo name for parquet::format::TypeDefinedOrder
   000000000189fcd3 S typeinfo name for parquet::format::BloomFilterHeader
   000000000189fd52 S typeinfo name for parquet::format::PageEncodingStats
   000000000189ff73 S typeinfo name for parquet::format::FileCryptoMetaData
   000000000189ff2c S typeinfo name for parquet::format::EncryptionAlgorithm
   000000000189fbfe S typeinfo name for parquet::format::SplitBlockAlgorithm
   000000000189fc25 S typeinfo name for parquet::format::BloomFilterAlgorithm
   000000000189fdef S typeinfo name for parquet::format::ColumnCryptoMetaData
   000000000189fbb2 S typeinfo name for parquet::format::DictionaryPageHeader
   000000000189f884 S typeinfo name for parquet::format::GeospatialStatistics
   000000000189fca9 S typeinfo name for parquet::format::BloomFilterCompression
   000000000189fdc4 S typeinfo name for parquet::format::EncryptionWithColumnKey
   000000000189fd99 S typeinfo name for parquet::format::EncryptionWithFooterKey
   000000000189fc4d S typeinfo name for parquet::format::XxHash
   000000000189fa7d S typeinfo name for parquet::format::IntType
   000000000189f903 S typeinfo name for parquet::format::MapType
   000000000189fef2 S typeinfo name for parquet::format::AesGcmV1
   000000000189fab2 S typeinfo name for parquet::format::BsonType
   000000000189f953 S typeinfo name for parquet::format::DateType
   000000000189f938 S typeinfo name for parquet::format::EnumType
   000000000189fa97 S typeinfo name for parquet::format::JsonType
   000000000189fd16 S typeinfo name for parquet::format::KeyValue
   000000000189f91d S typeinfo name for parquet::format::ListType
   000000000189f98d S typeinfo name for parquet::format::NullType
   000000000189fe36 S typeinfo name for parquet::format::RowGroup
   000000000189fa62 S typeinfo name for parquet::format::TimeType
   000000000189fa26 S typeinfo name for parquet::format::TimeUnit
   000000000189f8e8 S typeinfo name for parquet::format::UUIDType
   000000000189ff99 S typeinfo name for parquet::schema::PrimitiveNode
   000000000189ffba S typeinfo name for parquet::schema::GroupNode
   000000000189ecdc S typeinfo name for parquet::XxHasher
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to