use sqlitegraph::backend::native::v3::backend::V3Backend;
use tempfile::tempdir;
use std::fs::File;
use std::io::{Read, Seek, SeekFrom};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let dir = tempdir()?;
let db_path = dir.path().join("test.graph");
println!("Creating database at: {:?}", db_path);
let _backend = V3Backend::create(&db_path)?;
let mut file = File::open(&db_path)?;
let mut buffer = [0u8; 4];
file.seek(std::io::SeekFrom::Start(104))?;
file.read_exact(&mut buffer)?;
let page_size = u32::from_be_bytes(buffer);
println!("Page size: {} bytes", page_size);
println!("Media type: {:?}",
if page_size == 4096 { "SSD (or unknown)" }
else if page_size == 16384 { "HDD" }
else { "Unknown" });
assert!(page_size == 4096 || page_size == 16384,
"Invalid page size: {}", page_size);
println!("✓ Adaptive page sizing is working!");
Ok(())
}