use selene_core::db_string;
use crate::{GqlType, ProcedureOutputColumn, ProcedureParameter};
pub(super) fn parameter(name: &'static str, ty: GqlType, nullable: bool) -> ProcedureParameter {
let parameter = ProcedureParameter::new(static_db_string(name), ty, nullable)
.with_description("Procedure parameter.");
if nullable {
parameter.with_default_doc("NULL (use procedure default)")
} else {
parameter
}
}
pub(super) fn output(name: &'static str, ty: GqlType) -> ProcedureOutputColumn {
ProcedureOutputColumn::new(static_db_string(name), ty)
.with_description("Procedure output column.")
}
fn static_db_string(value: &'static str) -> selene_core::DbString {
db_string(value).expect("static procedure metadata name fits DB string cap")
}