in src/parquet/types.cc [258:290]
SortOrder::type GetSortOrder(LogicalType::type converted, Type::type primitive) {
if (converted == LogicalType::NONE) return DefaultSortOrder(primitive);
switch (converted) {
case LogicalType::INT_8:
case LogicalType::INT_16:
case LogicalType::INT_32:
case LogicalType::INT_64:
case LogicalType::DATE:
case LogicalType::TIME_MICROS:
case LogicalType::TIME_MILLIS:
case LogicalType::TIMESTAMP_MICROS:
case LogicalType::TIMESTAMP_MILLIS:
return SortOrder::SIGNED;
case LogicalType::UINT_8:
case LogicalType::UINT_16:
case LogicalType::UINT_32:
case LogicalType::UINT_64:
case LogicalType::ENUM:
case LogicalType::UTF8:
case LogicalType::BSON:
case LogicalType::JSON:
return SortOrder::UNSIGNED;
case LogicalType::DECIMAL:
case LogicalType::LIST:
case LogicalType::MAP:
case LogicalType::MAP_KEY_VALUE:
case LogicalType::INTERVAL:
case LogicalType::NONE: // required instead of default
case LogicalType::NA: // required instead of default
return SortOrder::UNKNOWN;
}
return SortOrder::UNKNOWN;
}