public static IFunction ResolveFunction(this FunctionProvider resolver, IQuery query, string name, SqlExpression[] args) { var funName = new ObjectName(new ObjectName(resolver.SchemaName), name); var routine = ((IRoutineResolver)resolver).ResolveRoutine(new Invoke(funName, args), query); if (!(routine is IFunction)) { throw new InvalidOperationException(); } return(routine as IFunction); }
public static IFunction ResolveFunction(this FunctionProvider resolver, IQuery context, string name, params DataObject[] args) { var exps = new SqlExpression[0]; if (args != null && args.Length > 0) { exps = new SqlExpression[args.Length]; for (int i = 0; i < args.Length; i++) { exps[i] = SqlExpression.Constant(args[i]); } } return(resolver.ResolveFunction(context, name, exps)); }
public void ScalarWithNoArguments() { FunctionProvider factory1 = null; Assert.DoesNotThrow(() => factory1 = new Factory1()); IFunction function = null; Assert.DoesNotThrow(() => function = factory1.ResolveFunction("user2")); Assert.IsNotNull(function); InvokeResult result = null; Assert.DoesNotThrow(() => result = function.Execute(Query)); Assert.IsNotNull(result); Assert.AreEqual(AdminUserName, result.ReturnValue.Value.ToString()); }
public static IFunction ResolveFunction(this FunctionProvider resolver, string name, params DataObject[] args) { return(ResolveFunction(resolver, null, name, args)); }
public static IFunction ResolveFunction(this FunctionProvider resolver, string name, params SqlExpression[] args) { return(ResolveFunction(resolver, null, name, args)); }
public static IFunction ResolveFunction(this FunctionProvider resolver, IQuery context, string name) { return(ResolveFunction(resolver, context, name, new SqlExpression[0])); }
public static IFunction ResolveFunction(this FunctionProvider resolver, string name) { return(ResolveFunction(resolver, null, name)); }
public FunctionConfiguration(FunctionProvider provider) { this.provider = provider; parameters = new Dictionary<string, RoutineParameter>(); FunctionType = FunctionType.Static; }
public FunctionConfiguration(FunctionProvider provider) { this.provider = provider; parameters = new Dictionary <string, RoutineParameter>(); FunctionType = FunctionType.Static; }