nevi-me commented on a change in pull request #9705:
URL: https://github.com/apache/arrow/pull/9705#discussion_r599118931
##########
File path: rust/parquet/src/arrow/schema.rs
##########
@@ -959,11 +962,14 @@ mod tests {
Field::new("boolean", DataType::Boolean, false),
Field::new("int8", DataType::Int8, false),
Field::new("int16", DataType::Int16, false),
+ Field::new("uint8", DataType::UInt8, false),
+ Field::new("uint16", DataType::UInt16, false),
Field::new("int32", DataType::Int32, false),
Field::new("int64", DataType::Int64, false),
Field::new("double", DataType::Float64, true),
Field::new("float", DataType::Float32, true),
Field::new("string", DataType::Utf8, true),
+ Field::new("string_2", DataType::Utf8, true),
Review comment:
This is where things get interesting. UTF8 maps to the converted type,
and STRING to the logical type. So, the pecking order is to check for logical
type, then fall back to converted type.
It gets tricky when the logical and converted types are the same string
value, but that is fine as the converted type is always written out. Q good
example is DECIMAL(12,2), it is the same in either logical or converted type.
I was confused with this, as I initially tried parsing logical and converted
types separately, without mixing them in one file. After @sunchao's review on
the other PRs, it started to make sense that they can coexist.
So, both map to the same Arrow type
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]