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).
파일 보기 프로젝트 열기: deveel/deveeldb 1 사용 예제들

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