uqa_execution/type_resolution/
gamma.rs1use uqa_sql::ast::{ColumnType, FunctionBinding};
10use uqa_sql::SQLError;
11
12use super::common::local_routine_name;
13use super::{
14 fixed_builtin, function_resolution_error, FunctionTypeResolver, ResolvedFunctionOverload,
15};
16
17pub type ResolvedGammaOverload = ResolvedFunctionOverload;
18
19#[doc(hidden)]
20pub fn resolve_gamma_overload(
21 name: &str,
22 binding: Option<&FunctionBinding>,
23 argument_names: &[Option<String>],
24 argument_types: &[Option<ColumnType>],
25 resolver: Option<&dyn FunctionTypeResolver>,
26) -> Result<ResolvedGammaOverload, SQLError> {
27 if !matches!(local_routine_name(name).as_str(), "gamma" | "lgamma") {
28 return Err(function_resolution_error(
29 "42883",
30 name,
31 argument_names,
32 argument_types,
33 "does not exist",
34 ));
35 }
36 fixed_builtin::resolve_overload(
37 name,
38 binding,
39 argument_names,
40 argument_types,
41 false,
42 resolver,
43 )
44}