mod internal;
mod maintenance;
mod session;
mod status;
mod tview;
use crate::catalog::TviewMeta;
use crate::catalog::resolve::{self, Found};
use crate::error::TViewResult;
fn owned(tview: &str) -> TViewResult<Found> {
let found = resolve::find(tview)?;
crate::owner::require_owner(found.table, &table_name(found.table, &found.entity))?;
Ok(found)
}
fn owned_meta(tview: &str) -> TViewResult<std::rc::Rc<TviewMeta>> {
owned(tview)?;
resolve::resolve(tview)
}
fn relation(meta: &TviewMeta) -> String {
table_name(meta.tview_oid, &meta.entity_name)
}
fn table_name(table: pgrx::pg_sys::Oid, entity: &str) -> String {
crate::utils::qualified_relname_from_oid(table).unwrap_or_else(|_| format!("tv_{entity}"))
}