コード例 #1
0
        public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
        {
            var refName = reference.VariableName;

            var resolver = context.VariableResolver;

            if (context.Request == null)
            {
                throw new ExpressionEvaluateException(String.Format("Cannot dereference variable {0} outside a query context", refName));
            }

            if (resolver == null)
            {
                resolver = context.Request.Context.VariableResolver();
            }

            var variable = resolver.Resolve(new ObjectName(refName));

            if (variable == null)
            {
                return(SqlExpression.Constant(Field.Null()));
            }

            return(SqlExpression.Constant(variable.Evaluate(context.Request)));
        }
コード例 #2
0
        public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
        {
            var refName = reference.VariableName;

            if (context.Request == null)
            {
                throw new ExpressionEvaluateException(String.Format("Cannot dereference variable {0} outside a query context", refName));
            }
            if (context.VariableResolver == null)
            {
                throw new ExpressionEvaluateException("The query context does not handle variables.");
            }


            var variable = context.Request.FindVariable(refName);

            if (variable == null)
            {
                return(SqlExpression.Constant(DataObject.Null()));
            }

            return(SqlExpression.Constant(variable.Value));
        }
コード例 #3
0
ファイル: QueryPlanner.cs プロジェクト: prepare/deveeldb
 public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     // TODO: should we also resolve variables?
     return base.VisitVariableReference(reference);
 }
コード例 #4
0
 public virtual SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     return SqlExpression.VariableReference(reference.VariableName);
 }
コード例 #5
0
        public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
        {
            var refName = reference.VariableName;

            if (context.Request == null)
                throw new ExpressionEvaluateException(String.Format("Cannot dereference variable {0} outside a query context", refName));
            if (context.VariableResolver == null)
                throw new ExpressionEvaluateException("The query context does not handle variables.");

            var variable = context.Request.FindVariable(refName);
            if (variable == null)
                return SqlExpression.Constant(DataObject.Null());

            return SqlExpression.Constant(variable.Value);
        }
コード例 #6
0
 public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     builder.AppendFormat(":{0}", reference.VariableName);
     return reference;
 }
コード例 #7
0
 public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     IsConstant = false;
     return(base.VisitVariableReference(reference));
 }
コード例 #8
0
 public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     builder.AppendFormat(":{0}", reference.VariableName);
     return(reference);
 }
コード例 #9
0
ファイル: ConstantVisitor.cs プロジェクト: deveel/deveeldb
 public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     IsConstant = false;
     return base.VisitVariableReference(reference);
 }
コード例 #10
0
        public override SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
        {
            var refName = reference.VariableName;

            var resolver = context.VariableResolver;

            if (context.Request == null)
                throw new ExpressionEvaluateException(String.Format("Cannot dereference variable {0} outside a query context", refName));

            if (resolver == null)
                resolver = context.Request.Context.VariableResolver();

            var variable = resolver.Resolve(new ObjectName(refName));
            if (variable == null)
                return SqlExpression.Constant(Field.Null());

            return SqlExpression.Constant(variable.Evaluate(context.Request));
        }
コード例 #11
0
 public virtual SqlExpression VisitVariableReference(SqlVariableReferenceExpression reference)
 {
     return(SqlExpression.VariableReference(reference.VariableName));
 }