Ejemplo n.º 1
0
        public bool VisitExprScalarFunction(ExprScalarFunction expr, TCtx arg)
        {
            var res = this.Visit(expr, "ScalarFunction", arg, out var argOut) && this.Accept("Schema", expr.Schema, argOut) && this.Accept("Name", expr.Name, argOut) && this.Accept("Arguments", expr.Arguments, argOut);

            this._visitor.EndVisitExpr(expr, arg);
            return(res);
        }
Ejemplo n.º 2
0
        public bool VisitExprScalarFunction(ExprScalarFunction exprScalarFunction, IExpr?parent)
        {
            if (exprScalarFunction.Schema != null)
            {
                if (exprScalarFunction.Schema.Accept(this, exprScalarFunction))
                {
                    this.Builder.Append('.');
                }
            }

            exprScalarFunction.Name.Accept(this, exprScalarFunction);

            if (exprScalarFunction.Arguments != null)
            {
                this.AssertNotEmptyList(exprScalarFunction.Arguments, "Argument list cannot be empty");
                this.AcceptListComaSeparatedPar('(', exprScalarFunction.Arguments, ')', exprScalarFunction);
            }
            else
            {
                this.Builder.Append('(');
                this.Builder.Append(')');
            }

            return(true);
        }
Ejemplo n.º 3
0
 public static ExprScalarFunction WithArguments(this ExprScalarFunction original, IReadOnlyList <ExprValue>?newArguments)
 => new ExprScalarFunction(schema: original.Schema, name: original.Name, arguments: newArguments);
Ejemplo n.º 4
0
 public static ExprScalarFunction WithName(this ExprScalarFunction original, ExprFunctionName newName)
 => new ExprScalarFunction(schema: original.Schema, name: newName, arguments: original.Arguments);
Ejemplo n.º 5
0
 public static ExprScalarFunction WithSchema(this ExprScalarFunction original, ExprDbSchema?newSchema)
 => new ExprScalarFunction(schema: newSchema, name: original.Name, arguments: original.Arguments);
Ejemplo n.º 6
0
 public TRes VisitExprScalarFunction(ExprScalarFunction exprScalarFunction, ExprValueTypeAnalyzerCtx <TRes, TCtx> ctx)
 {
     return(ctx.ValueVisitor.VisitAny(ctx.Ctx, null));
 }