storage_manager/backend/statistics/
mod.rs1use std::fs::File;
2use std::io::{self, Read, Seek, SeekFrom};
3
4use crate::page::PAGE_SIZE;
5
6pub fn print_table_page_count(db_name: &str, table_name: &str) -> io::Result<()> {
8 let table_path = format!("database/base/{}/{}.dat", db_name, table_name);
9 let mut file = File::open(&table_path)?;
10
11 let mut header_page = vec![0u8; PAGE_SIZE];
13 file.seek(SeekFrom::Start(0))?;
14 file.read_exact(&mut header_page)?;
15
16 let total_pages = u32::from_le_bytes(header_page[0..4].try_into().unwrap());
18
19 println!("Table '{}' has {} total pages.", table_name, total_pages);
20
21 Ok(())
22}