24 namespace Deveel.Data.Routines {
39 : base(routineName, parameters) {
53 bool ignoreCase =
true;
55 ignoreCase = query.IgnoreIdentifiersCase();
57 if (!RoutineName.Equals(invoke.
RoutineName, ignoreCase))
61 var inputParams = Parameters.Where(parameter => parameter.IsInput).ToList();
62 if (invoke.
Arguments.Length != inputParams.Count)
65 for (
int i = 0; i < invoke.
Arguments.Length; i++) {
70 var argType = invoke.
Arguments[i].ReturnType(query, null);
71 var paramType = Parameters[i].Type;
74 if (!paramType.IsComparable(argType))
SqlExpression[] Arguments
Gets an array of arguments to be passed to the invoked routine.
Describes the name of an object within a database.
A type that represents a static function.
RoutineType
The type of routine program.
ProcedureInfo(ObjectName routineName, ProcedureType procedureType)
ProcedureInfo(ObjectName routineName)
The information about the invocation of a routine, including the full name and arguments (as SqlExpre...
override bool MatchesInvoke(Invoke invoke, IQuery query)
ObjectName RoutineName
Gets the fully qualified name of the routine to invoke.
Defines the metadata for a routine that are used to resolve within a context.
ProcedureType
The form of a database stored PROCEDURE.
ProcedureInfo(ObjectName routineName, ProcedureType procedureType, RoutineParameter[] parameters)
ProcedureInfo(ObjectName routineName, RoutineParameter[] parameters)