neilechao commented on code in PR #45375:
URL: https://github.com/apache/arrow/pull/45375#discussion_r1964608706


##########
cpp/src/parquet/types.cc:
##########
@@ -1619,6 +1629,22 @@ class LogicalType::Impl::Float16 final : public 
LogicalType::Impl::Incompatible,
 
 GENERATE_MAKE(Float16)
 
+class LogicalType::Impl::Variant final : public 
LogicalType::Impl::Incompatible,
+                                         public 
LogicalType::Impl::SimpleApplicable {
+ public:
+  friend class VariantLogicalType;
+
+  OVERRIDE_TOSTRING(Variant)
+  OVERRIDE_TOTHRIFT(VariantType, VARIANT)
+
+ private:
+  Variant()
+      : LogicalType::Impl(LogicalType::Type::VARIANT, SortOrder::UNKNOWN),
+        LogicalType::Impl::SimpleApplicable(parquet::Type::BYTE_ARRAY) {}

Review Comment:
   If I create a VariantExtensionType with storage type struct<metadata:binary, 
value:binary>, will the Parquet Reader and Writer break down the struct members 
(metadata and value) into separate columns for reading and writing? 
   
   Just double checking, since the documentation on [Arrow Extension type 
writing Parquet 
files](https://arrow.apache.org/docs/cpp/parquet.html#special-cases) says "An 
Arrow Extension type is written out as its storage type", and I want to make 
sure that separate columns for metadata and binary are read and written.



-- 
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]

Reply via email to