use std::path::PathBuf;
use crate::{AnalysisProbrem, Collection, ContextHandle};
#[derive(serde::Serialize, serde::Deserialize)]
pub enum EngineDialect {
PostgreSQL,
}
#[derive(serde::Serialize, serde::Deserialize)]
pub enum EngineVersion {
PostgreSQL(String),
}
#[derive(serde::Serialize, serde::Deserialize, derive_getters::Getters)]
pub struct ExtensionSpec {
extension_name: String,
extension_version: String,
}
#[derive(serde::Serialize, serde::Deserialize, derive_getters::Getters)]
pub struct InitializeSchemaArgs {
engine_dialect: EngineDialect,
engine_version: EngineVersion,
extensions: Vec<ExtensionSpec>,
search_path: Vec<String>,
schema_dump: PathBuf,
}
#[derive(serde::Serialize, serde::Deserialize, derive_getters::Getters)]
pub struct SchemaContext {
context_handle: Option<ContextHandle>,
schema_dump_hash: String,
problems: Collection<AnalysisProbrem>,
}