in crates/iceberg/src/expr/visitors/page_index_evaluator.rs [1318:1419]
fn create_page_index() -> Result<(Vec<Index>, Vec<OffsetIndexMetaData>)> {
let idx_float = Index::FLOAT(NativeIndex::<f32> {
indexes: vec![
PageIndex {
min: None,
max: None,
null_count: Some(1024),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: Some(0.0),
max: Some(10.0),
null_count: Some(0),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: Some(10.0),
max: Some(20.0),
null_count: Some(1),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: None,
max: None,
null_count: None,
repetition_level_histogram: None,
definition_level_histogram: None,
},
],
boundary_order: BoundaryOrder(0), // UNORDERED
});
let idx_string = Index::BYTE_ARRAY(NativeIndex::<ByteArray> {
indexes: vec![
PageIndex {
min: Some("AA".into()),
max: Some("DD".into()),
null_count: Some(0),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: Some("DE".into()),
max: Some("DE".into()),
null_count: Some(0),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: Some("DF".into()),
max: Some("UJ".into()),
null_count: Some(1),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: None,
max: None,
null_count: Some(48),
repetition_level_histogram: None,
definition_level_histogram: None,
},
PageIndex {
min: None,
max: None,
null_count: None,
repetition_level_histogram: None,
definition_level_histogram: None,
},
],
boundary_order: BoundaryOrder(0), // UNORDERED
});
let page_locs_float = vec![
PageLocation::new(0, 1024, 0),
PageLocation::new(1024, 1024, 1024),
PageLocation::new(2048, 1024, 2048),
PageLocation::new(3072, 1024, 3072),
];
let page_locs_string = vec![
PageLocation::new(0, 512, 0),
PageLocation::new(512, 512, 512),
PageLocation::new(1024, 2976, 1024),
PageLocation::new(4000, 48, 4000),
PageLocation::new(4048, 48, 4048),
];
Ok((vec![idx_float, idx_string], vec![
OffsetIndexMetaData {
page_locations: page_locs_float,
unencoded_byte_array_data_bytes: None,
},
OffsetIndexMetaData {
page_locations: page_locs_string,
unencoded_byte_array_data_bytes: None,
},
]))
}