use std::sync::Arc;
use glaredb_parser::ast;
use crate::catalog::database::AttachInfo;
use crate::catalog::entry::CatalogEntry;
use crate::functions::table::PlannedTableFunction;
#[derive(Debug, Clone)]
pub enum ResolvedTableOrCteReference {
Table(ResolvedTableReference),
View(ResolvedViewReference),
Cte(String),
}
#[derive(Debug, Clone)]
pub struct ResolvedTableReference {
pub catalog: String,
pub schema: String,
pub entry: Arc<CatalogEntry>,
pub scan_function: PlannedTableFunction,
}
#[derive(Debug, Clone)]
pub struct ResolvedViewReference {
pub catalog: String,
pub schema: String,
pub entry: Arc<CatalogEntry>,
}
#[derive(Debug, Clone, PartialEq)]
pub struct UnresolvedTableReference {
pub reference: ast::ObjectReference,
pub catalog: String,
pub attach_info: Option<AttachInfo>,
}