use serde::{Deserialize, Serialize};
pub const SYS_PROCEDURES: &str = "_sys_procedures";
pub const CREATE_PROCEDURES_SQL: &str = r#"
CREATE TABLE IF NOT EXISTS _sys_procedures (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
schema TEXT,
name TEXT NOT NULL,
parameters JSON NOT NULL,
language TEXT NOT NULL,
code TEXT NOT NULL
);
"#;
pub fn is_procedures_table(_schema: &str, name: &str) -> bool {
name.eq_ignore_ascii_case(SYS_PROCEDURES)
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StoredProcedureParameter {
pub mode: String, pub name: String,
pub data_type: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StoredProcedure {
pub id: i64,
pub schema: Option<String>,
pub name: String,
pub parameters: Vec<StoredProcedureParameter>,
pub language: String,
pub code: String,
}