alamb commented on code in PR #8072: URL: https://github.com/apache/arrow-rs/pull/8072#discussion_r2263812443
########## parquet/src/basic.rs: ########## @@ -238,15 +362,149 @@ pub enum LogicalType { /// A 16-bit floating point number. Float16, /// A Variant value. - Variant, + Variant { + /// The version of the variant specification that the variant was written with. + specification_version: Option<i8>, + }, /// A geospatial feature in the Well-Known Binary (WKB) format with linear/planar edges interpolation. - Geometry, + Geometry { + /// A custom CRS. If unset the defaults to `OGC:CRS84`. + crs: Option<String>, + }, /// A geospatial feature in the WKB format with an explicit (non-linear/non-planar) edges interpolation. - Geography, + Geography { + /// A custom CRS. If unset the defaults to `OGC:CRS84`. + crs: Option<String>, + /// An optional algorithm can be set to correctly interpret edges interpolation + /// of the geometries. If unset, the algorithm defaults to `SPHERICAL``. + algorithm: Option<EdgeInterpolationAlgorithm>, + }, + /// For forward compatibility; used when an unknown union value is encountered. + _Unknown { + /// The field id encountered when parsing the unknown logical type. + field_id: i16, + }, +} + +impl<'a> TryFrom<&mut ThriftCompactInputProtocol<'a>> for LogicalType { + type Error = ParquetError; + fn try_from(prot: &mut ThriftCompactInputProtocol<'a>) -> Result<Self> { Review Comment: is this an example of what it takes to parse a thrift definition using this new structure? -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org