Deveel.Data.Sql.Query.ConstantSelectNode.Evaluate C# (CSharp) Method

Evaluate() public method

public Evaluate ( IRequest context ) : ITable
context IRequest
return ITable
        public override ITable Evaluate(IRequest context)
        {
            // Evaluate the expression
            var exp = Expression.Evaluate(context, null);
            if (exp.ExpressionType != SqlExpressionType.Constant)
                throw new InvalidOperationException();

            var v = ((SqlConstantExpression) exp).Value;

            // If it evaluates to NULL or FALSE then return an empty set
            if (v.IsNull || v == false)
                return Child.Evaluate(context).EmptySelect();

            return Child.Evaluate(context);
        }