Skip to content

Commit b6ae82a

Browse files
Logical types
1 parent 7824198 commit b6ae82a

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

.claude/settings.local.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,13 @@
2626
"Bash(test:*)",
2727
"WebFetch(domain:github.com)",
2828
"Bash(ls:*)",
29+
<<<<<<< Updated upstream
2930
"Bash(grep:*)"
31+
=======
32+
"Bash(grep:*)",
33+
"Bash(cargo fmt:*)",
34+
"Bash(./target/release/dft:*)"
35+
>>>>>>> Stashed changes
3036
],
3137
"deny": [],
3238
"ask": []

crates/datafusion-functions-parquet/src/lib.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ impl TableFunctionImpl for ParquetMetadataFunc {
168168
Field::new("num_values", DataType::Int64, true),
169169
Field::new("path_in_schema", DataType::Utf8, true),
170170
Field::new("type", DataType::Utf8, true),
171+
Field::new("logical_type", DataType::Utf8, true),
171172
Field::new("stats_min", DataType::Utf8, true),
172173
Field::new("stats_max", DataType::Utf8, true),
173174
Field::new("stats_null_count", DataType::Int64, true),
@@ -194,6 +195,7 @@ impl TableFunctionImpl for ParquetMetadataFunc {
194195
let mut num_values_arr = vec![];
195196
let mut path_in_schema_arr = vec![];
196197
let mut type_arr = vec![];
198+
let mut logical_type_arr = vec![];
197199
let mut stats_min_arr = vec![];
198200
let mut stats_max_arr = vec![];
199201
let mut stats_null_count_arr = vec![];
@@ -219,6 +221,10 @@ impl TableFunctionImpl for ParquetMetadataFunc {
219221
num_values_arr.push(column.num_values());
220222
path_in_schema_arr.push(column.column_path().to_string());
221223
type_arr.push(column.column_type().to_string());
224+
logical_type_arr.push(
225+
column.column_descr().logical_type_ref()
226+
.map(|lt| format!("{:?}", lt))
227+
);
222228
let converted_type = column.column_descr().converted_type();
223229

224230
if let Some(s) = column.statistics() {
@@ -260,6 +266,7 @@ impl TableFunctionImpl for ParquetMetadataFunc {
260266
Arc::new(Int64Array::from(num_values_arr)),
261267
Arc::new(StringArray::from(path_in_schema_arr)),
262268
Arc::new(StringArray::from(type_arr)),
269+
Arc::new(StringArray::from(logical_type_arr)),
263270
Arc::new(StringArray::from(stats_min_arr)),
264271
Arc::new(StringArray::from(stats_max_arr)),
265272
Arc::new(Int64Array::from(stats_null_count_arr)),

0 commit comments

Comments
 (0)