pg_extras/queries/
index_size.rsuse crate::{queries::shared::Query, PgStatsVersion};
use sqlx::{postgres::PgRow, Row};
#[derive(Debug, Clone)]
pub struct IndexSize {
pub name: String,
pub size: String,
pub schema: String,
}
impl Query for IndexSize {
fn new(row: &PgRow) -> Self {
Self {
name: row.try_get("name").unwrap_or_default(),
size: row.try_get("size").unwrap_or_default(),
schema: row.try_get("schema").unwrap_or_default(),
}
}
fn to_row(&self) -> prettytable::Row {
row![self.name, self.size, self.schema]
}
fn headers() -> prettytable::Row {
row!["name", "size", "schema"]
}
fn read_file(_pg_statement_version: Option<PgStatsVersion>) -> String {
include_str!("../sql/index_size.sql").to_string()
}
}