C# Класс Deveel.Data.Sql.Expressions.SqlExpression

Defines the base class for instances that represent SQL expression tree nodes.
The architecture of the SQL Expression domain is to keep the implementation internal to the project, that means it will be possible to construct expressions only through this class, calling factory methods (for example Binary).
Показать файл Открыть проект Примеры использования класса

Private Properties

Свойство Тип Описание
AppendTo void
Deserialize SqlExpression
ISerializable void
ISqlFormattable void
Parse SqlExpression
Serialize void
SqlExpression System
SqlExpression System
TryParse bool

Открытые методы

Метод Описание
Accept ( SqlExpressionVisitor visitor ) : SqlExpression
Add ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
All ( SqlExpression value ) : SqlQuantifiedExpression
And ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Any ( SqlExpression value ) : SqlQuantifiedExpression
Assign ( SqlExpression reference, SqlExpression valueExpression ) : SqlAssignExpression
Binary ( SqlExpression left, SqlExpressionType expressionType, SqlExpression right ) : SqlBinaryExpression
Cast ( SqlExpression value, SqlType destType ) : SqlCastExpression
Conditional ( SqlExpression testExpression, SqlExpression ifTrue ) : SqlConditionalExpression
Conditional ( SqlExpression testExpression, SqlExpression ifTrue, SqlExpression ifFalse ) : SqlConditionalExpression
Constant ( Field value ) : SqlConstantExpression
Constant ( object value ) : SqlConstantExpression
Divide ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Equal ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Evaluate ( ) : SqlExpression

Statically evaluates the expression, outside any context.

Evaluate ( EvaluateContext context ) : SqlExpression

When overridden by a derived class, this method evaluates the expression within the provided context.

This method is only executed is CanEvaluate is true, and the override method can reduce this expression to a simpler form.

Evaluate ( IRequest context, IVariableResolver variables ) : SqlExpression
Evaluate ( IRequest context, IVariableResolver variables, IGroupResolver group ) : SqlExpression
FunctionCall ( ObjectName functionName ) : SqlFunctionCallExpression
FunctionCall ( ObjectName functionName, InvokeArgument args ) : SqlFunctionCallExpression
FunctionCall ( ObjectName functionName, SqlExpression args ) : SqlFunctionCallExpression
FunctionCall ( string functionName ) : SqlFunctionCallExpression
FunctionCall ( string functionName, InvokeArgument args ) : SqlFunctionCallExpression
FunctionCall ( string functionName, SqlExpression args ) : SqlFunctionCallExpression
GreaterOrEqualThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
GreaterThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Is ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
IsNot ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Like ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Modulo ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Multiply ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Negate ( SqlExpression operand ) : SqlUnaryExpression
Not ( SqlExpression operand ) : SqlUnaryExpression
NotEqual ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
NotLike ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Or ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Parse ( string s ) : SqlExpression

Parses the given SQL string to an expression that can be evaluated.

Parse ( string s, IContext context ) : SqlExpression

Parses the given SQL string to an expression that can be evaluated.

Prepare ( IExpressionPreparer preparer ) : SqlExpression
Quantified ( SqlExpressionType expressionType, SqlExpression value ) : SqlQuantifiedExpression
Reference ( ObjectName objectName ) : SqlReferenceExpression
SmallerOrEqualThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
SmallerThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
Subtract ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
ToString ( ) : string
TryParse ( string s, IExpressionParser parser, SqlExpression &expression ) : bool
Tuple ( SqlExpression expressions ) : SqlTupleExpression
Tuple ( SqlExpression expr1, SqlExpression exp2 ) : SqlTupleExpression
Tuple ( SqlExpression expr1, SqlExpression expr2, SqlExpression expr3 ) : SqlTupleExpression
Unary ( SqlExpressionType expressionType, SqlExpression operand ) : SqlUnaryExpression
UnaryPlus ( SqlExpression operand ) : SqlUnaryExpression
VariableReference ( string varName ) : SqlVariableReferenceExpression
XOr ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression

Защищенные методы

Метод Описание
GetData ( SerializationInfo info, StreamingContext context ) : void

Приватные методы

Метод Описание
AppendTo ( SqlStringBuilder builder ) : void
Deserialize ( BinaryReader reader ) : SqlExpression
ISerializable ( SerializationInfo info, StreamingContext context ) : void
ISqlFormattable ( SqlStringBuilder builder ) : void
Parse ( string s, IExpressionParser parser ) : SqlExpression
Serialize ( SqlExpression expression, BinaryWriter writer ) : void
SqlExpression ( ) : System

Internally constructs the SQL expression, avoiding external implementations to be allowed to inherit this class.

SqlExpression ( SerializationInfo info, StreamingContext context ) : System
TryParse ( string s, IExpressionParser parser, SqlExpression &expression, Exception &error ) : bool

Описание методов

Accept() публичный Метод

public Accept ( SqlExpressionVisitor visitor ) : SqlExpression
visitor SqlExpressionVisitor
Результат SqlExpression

Add() публичный статический Метод

public static Add ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

All() публичный статический Метод

public static All ( SqlExpression value ) : SqlQuantifiedExpression
value SqlExpression
Результат SqlQuantifiedExpression

And() публичный статический Метод

public static And ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Any() публичный статический Метод

public static Any ( SqlExpression value ) : SqlQuantifiedExpression
value SqlExpression
Результат SqlQuantifiedExpression

Assign() публичный статический Метод

public static Assign ( SqlExpression reference, SqlExpression valueExpression ) : SqlAssignExpression
reference SqlExpression
valueExpression SqlExpression
Результат SqlAssignExpression

Binary() публичный статический Метод

public static Binary ( SqlExpression left, SqlExpressionType expressionType, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
expressionType SqlExpressionType
right SqlExpression
Результат SqlBinaryExpression

Cast() публичный статический Метод

public static Cast ( SqlExpression value, SqlType destType ) : SqlCastExpression
value SqlExpression
destType SqlType
Результат SqlCastExpression

Conditional() публичный статический Метод

public static Conditional ( SqlExpression testExpression, SqlExpression ifTrue ) : SqlConditionalExpression
testExpression SqlExpression
ifTrue SqlExpression
Результат SqlConditionalExpression

Conditional() публичный статический Метод

public static Conditional ( SqlExpression testExpression, SqlExpression ifTrue, SqlExpression ifFalse ) : SqlConditionalExpression
testExpression SqlExpression
ifTrue SqlExpression
ifFalse SqlExpression
Результат SqlConditionalExpression

Constant() публичный статический Метод

public static Constant ( Field value ) : SqlConstantExpression
value Field
Результат SqlConstantExpression

Constant() публичный статический Метод

public static Constant ( object value ) : SqlConstantExpression
value object
Результат SqlConstantExpression

Divide() публичный статический Метод

public static Divide ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Equal() публичный статический Метод

public static Equal ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Evaluate() публичный Метод

Statically evaluates the expression, outside any context.
/// If any error occurred while evaluating the expression. ///
public Evaluate ( ) : SqlExpression
Результат SqlExpression

Evaluate() публичный Метод

When overridden by a derived class, this method evaluates the expression within the provided context.

This method is only executed is CanEvaluate is true, and the override method can reduce this expression to a simpler form.

/// If any error occurred while evaluating the expression. ///
public Evaluate ( EvaluateContext context ) : SqlExpression
context EvaluateContext The context for the evaluation of the expression, providing /// access to the system or to the execution context.
Результат SqlExpression

Evaluate() публичный Метод

public Evaluate ( IRequest context, IVariableResolver variables ) : SqlExpression
context IRequest
variables IVariableResolver
Результат SqlExpression

Evaluate() публичный Метод

public Evaluate ( IRequest context, IVariableResolver variables, IGroupResolver group ) : SqlExpression
context IRequest
variables IVariableResolver
group IGroupResolver
Результат SqlExpression

FunctionCall() публичный статический Метод

public static FunctionCall ( ObjectName functionName ) : SqlFunctionCallExpression
functionName ObjectName
Результат SqlFunctionCallExpression

FunctionCall() публичный статический Метод

public static FunctionCall ( ObjectName functionName, InvokeArgument args ) : SqlFunctionCallExpression
functionName ObjectName
args InvokeArgument
Результат SqlFunctionCallExpression

FunctionCall() публичный статический Метод

public static FunctionCall ( ObjectName functionName, SqlExpression args ) : SqlFunctionCallExpression
functionName ObjectName
args SqlExpression
Результат SqlFunctionCallExpression

FunctionCall() публичный статический Метод

public static FunctionCall ( string functionName ) : SqlFunctionCallExpression
functionName string
Результат SqlFunctionCallExpression

FunctionCall() публичный статический Метод

public static FunctionCall ( string functionName, InvokeArgument args ) : SqlFunctionCallExpression
functionName string
args InvokeArgument
Результат SqlFunctionCallExpression

FunctionCall() публичный статический Метод

public static FunctionCall ( string functionName, SqlExpression args ) : SqlFunctionCallExpression
functionName string
args SqlExpression
Результат SqlFunctionCallExpression

GetData() защищенный Метод

protected GetData ( SerializationInfo info, StreamingContext context ) : void
info SerializationInfo
context StreamingContext
Результат void

GreaterOrEqualThan() публичный статический Метод

public static GreaterOrEqualThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

GreaterThan() публичный статический Метод

public static GreaterThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Is() публичный статический Метод

public static Is ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

IsNot() публичный статический Метод

public static IsNot ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Like() публичный статический Метод

public static Like ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Modulo() публичный статический Метод

public static Modulo ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Multiply() публичный статический Метод

public static Multiply ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Negate() публичный статический Метод

public static Negate ( SqlExpression operand ) : SqlUnaryExpression
operand SqlExpression
Результат SqlUnaryExpression

Not() публичный статический Метод

public static Not ( SqlExpression operand ) : SqlUnaryExpression
operand SqlExpression
Результат SqlUnaryExpression

NotEqual() публичный статический Метод

public static NotEqual ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

NotLike() публичный статический Метод

public static NotLike ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Or() публичный статический Метод

public static Or ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Parse() публичный статический Метод

Parses the given SQL string to an expression that can be evaluated.
public static Parse ( string s ) : SqlExpression
s string The string to parse.
Результат SqlExpression

Parse() публичный статический Метод

Parses the given SQL string to an expression that can be evaluated.
public static Parse ( string s, IContext context ) : SqlExpression
s string The string to parse.
context IContext
Результат SqlExpression

Prepare() публичный Метод

public Prepare ( IExpressionPreparer preparer ) : SqlExpression
preparer IExpressionPreparer
Результат SqlExpression

Quantified() публичный статический Метод

public static Quantified ( SqlExpressionType expressionType, SqlExpression value ) : SqlQuantifiedExpression
expressionType SqlExpressionType
value SqlExpression
Результат SqlQuantifiedExpression

Reference() публичный статический Метод

public static Reference ( ObjectName objectName ) : SqlReferenceExpression
objectName ObjectName
Результат SqlReferenceExpression

SmallerOrEqualThan() публичный статический Метод

public static SmallerOrEqualThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

SmallerThan() публичный статический Метод

public static SmallerThan ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

Subtract() публичный статический Метод

public static Subtract ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression

ToString() публичный Метод

public ToString ( ) : string
Результат string

TryParse() публичный статический Метод

public static TryParse ( string s, IExpressionParser parser, SqlExpression &expression ) : bool
s string
parser IExpressionParser
expression SqlExpression
Результат bool

Tuple() публичный статический Метод

public static Tuple ( SqlExpression expressions ) : SqlTupleExpression
expressions SqlExpression
Результат SqlTupleExpression

Tuple() публичный статический Метод

public static Tuple ( SqlExpression expr1, SqlExpression exp2 ) : SqlTupleExpression
expr1 SqlExpression
exp2 SqlExpression
Результат SqlTupleExpression

Tuple() публичный статический Метод

public static Tuple ( SqlExpression expr1, SqlExpression expr2, SqlExpression expr3 ) : SqlTupleExpression
expr1 SqlExpression
expr2 SqlExpression
expr3 SqlExpression
Результат SqlTupleExpression

Unary() публичный статический Метод

public static Unary ( SqlExpressionType expressionType, SqlExpression operand ) : SqlUnaryExpression
expressionType SqlExpressionType
operand SqlExpression
Результат SqlUnaryExpression

UnaryPlus() публичный статический Метод

public static UnaryPlus ( SqlExpression operand ) : SqlUnaryExpression
operand SqlExpression
Результат SqlUnaryExpression

VariableReference() публичный статический Метод

public static VariableReference ( string varName ) : SqlVariableReferenceExpression
varName string
Результат SqlVariableReferenceExpression

XOr() публичный статический Метод

public static XOr ( SqlExpression left, SqlExpression right ) : SqlBinaryExpression
left SqlExpression
right SqlExpression
Результат SqlBinaryExpression