-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_storage_query.rs
More file actions
44 lines (38 loc) · 1.51 KB
/
test_storage_query.rs
File metadata and controls
44 lines (38 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use janus::storage::segmented_storage::StreamingSegmentedStorage;
use janus::storage::util::StreamingConfig;
fn main() {
let config = StreamingConfig {
segment_base_path: "./data/storage".to_string(),
max_batch_bytes: 10485760,
max_batch_age_seconds: 5,
max_batch_events: 100_000,
sparse_interval: 1000,
entries_per_index_block: 1024,
};
let storage = StreamingSegmentedStorage::new(config).expect("Failed to load storage");
let events = storage.query(0, u64::MAX).expect("Query failed");
println!("Total events in storage: {}", events.len());
if !events.is_empty() {
println!("\nFirst 3 events:");
for (i, event) in events.iter().take(3).enumerate() {
println!(
"Event {}: timestamp={}, subject={}, predicate={}, object={}, graph={}",
i + 1,
event.timestamp,
event.subject,
event.predicate,
event.object,
event.graph
);
}
let dict = storage.get_dictionary().read().unwrap();
println!("\nDecoded first 3 events:");
for (i, e) in events.iter().take(3).enumerate() {
println!("Event {}:", i + 1);
println!(" subject: {:?}", dict.decode(e.subject));
println!(" predicate: {:?}", dict.decode(e.predicate));
println!(" object: {:?}", dict.decode(e.object));
println!(" graph: {:?}", dict.decode(e.graph));
}
}
}