in crates/iceberg/src/expr/visitors/manifest_evaluator.rs [517:611]
fn create_partitions() -> Vec<FieldSummary> {
vec![
// id
FieldSummary {
contains_null: false,
contains_nan: None,
lower_bound: Some(Datum::int(INT_MIN_VALUE)),
upper_bound: Some(Datum::int(INT_MAX_VALUE)),
},
// all_nulls_missing_nan
FieldSummary {
contains_null: true,
contains_nan: None,
lower_bound: None,
upper_bound: None,
},
// some_nulls
FieldSummary {
contains_null: true,
contains_nan: None,
lower_bound: Some(Datum::string(STRING_MIN_VALUE)),
upper_bound: Some(Datum::string(STRING_MAX_VALUE)),
},
// no_nulls
FieldSummary {
contains_null: false,
contains_nan: None,
lower_bound: Some(Datum::string(STRING_MIN_VALUE)),
upper_bound: Some(Datum::string(STRING_MAX_VALUE)),
},
// float
FieldSummary {
contains_null: true,
contains_nan: None,
lower_bound: Some(Datum::float(0.0)),
upper_bound: Some(Datum::float(20.0)),
},
// all_nulls_double
FieldSummary {
contains_null: true,
contains_nan: None,
lower_bound: None,
upper_bound: None,
},
// all_nulls_no_nans
FieldSummary {
contains_null: true,
contains_nan: Some(false),
lower_bound: None,
upper_bound: None,
},
// all_nans
FieldSummary {
contains_null: false,
contains_nan: Some(true),
lower_bound: None,
upper_bound: None,
},
// both_nan_and_null
FieldSummary {
contains_null: true,
contains_nan: Some(true),
lower_bound: None,
upper_bound: None,
},
// no_nan_or_null
FieldSummary {
contains_null: false,
contains_nan: Some(false),
lower_bound: Some(Datum::float(0.0)),
upper_bound: Some(Datum::float(20.0)),
},
// all_nulls_missing_nan_float
FieldSummary {
contains_null: true,
contains_nan: None,
lower_bound: None,
upper_bound: None,
},
// all_same_value_or_null
FieldSummary {
contains_null: true,
contains_nan: None,
lower_bound: Some(Datum::string(STRING_MIN_VALUE)),
upper_bound: Some(Datum::string(STRING_MIN_VALUE)),
},
// no_nulls_same_value_a
FieldSummary {
contains_null: false,
contains_nan: None,
lower_bound: Some(Datum::string(STRING_MIN_VALUE)),
upper_bound: Some(Datum::string(STRING_MIN_VALUE)),
},
]
}