71 internal override object Eval()
186 [
UnconditionalSuppressMessage(
"ReflectionAnalysis",
"IL2026:RequiresUnreferencedCode", Justification =
"Evaluating constant expression is safe.")]
197 return expr.
Eval(
row, version);
242 if (
op == 7 ||
op == 12)
283 if (
op == 7 ||
op == 12)
347 if (
op != 27 &&
op != 26 &&
op != 5 &&
op != 13 &&
op != 39)
842 StorageType.SqlInt32 =>
sqlInt.ToSqlInt32(),
843 StorageType.SqlInt16 =>
sqlInt.ToSqlInt16(),
844 StorageType.SqlByte =>
sqlInt.ToSqlByte(),
960 DataTypePrecedence.DateTimeOffset =>
StorageType.DateTimeOffset,
961 DataTypePrecedence.DateTime =>
StorageType.DateTime,
962 DataTypePrecedence.TimeSpan =>
StorageType.TimeSpan,
963 DataTypePrecedence.SqlDateTime =>
StorageType.SqlDateTime,
964 DataTypePrecedence.SqlDouble =>
StorageType.SqlDouble,
965 DataTypePrecedence.SqlSingle =>
StorageType.SqlSingle,
966 DataTypePrecedence.SqlDecimal =>
StorageType.SqlDecimal,
967 DataTypePrecedence.SqlInt64 =>
StorageType.SqlInt64,
968 DataTypePrecedence.SqlInt32 =>
StorageType.SqlInt32,
969 DataTypePrecedence.SqlInt16 =>
StorageType.SqlInt16,
971 DataTypePrecedence.SqlBoolean =>
StorageType.SqlBoolean,
972 DataTypePrecedence.SqlString =>
StorageType.SqlString,
974 DataTypePrecedence.SqlBinary =>
StorageType.SqlBinary,
975 DataTypePrecedence.SqlMoney =>
StorageType.SqlMoney,
1142 if (
op == 15 ||
op == 16)
static ? string ToString(object? value)
static decimal ToDecimal(object? value)
static long ToInt64(object? value)
static float ToSingle(object? value)
static int ToInt32(object? value)
static DateTime ToDateTime(DateTime value)
static short ToInt16(object? value)
static byte ToByte(object? value)
static uint ToUInt32(object? value)
static ulong ToUInt64(object? value)
static ushort ToUInt16(object? value)
static ? object ChangeType(object? value, TypeCode typeCode)
static sbyte ToSByte(object? value)
static double ToDouble(object? value)
static readonly DBNull Value
override bool HasLocalAggregate()
override bool IsConstant()
override object Eval(int[] recordNos)
DataTypePrecedence GetPrecedence(StorageType storageType)
StorageType ResultSqlType(StorageType left, StorageType right, bool lc, bool rc, int op)
int BinaryCompare(object vLeft, object vRight, StorageType resultType, int op, CompareInfo comparer)
object EvalBinaryOp(int op, ExpressionNode left, ExpressionNode right, DataRow row, DataRowVersion version, int[] recordNos)
bool IsMixed(StorageType left, StorageType right)
override bool HasRemoteAggregate()
override object Eval(DataRow row, DataRowVersion version)
static object Eval(ExpressionNode expr, DataRow row, DataRowVersion version, int[] recordNos)
override ExpressionNode Optimize()
StorageType ResultType(StorageType left, StorageType right, bool lc, bool rc, int op)
bool IsMixedSql(StorageType left, StorageType right)
BinaryNode(DataTable table, int op, ExpressionNode left, ExpressionNode right)
override void Bind(DataTable table, List< DataColumn > list)
int BinaryCompare(object vLeft, object vRight, StorageType resultType, int op)
int SqlResultType(int typeCode)
static StorageType GetPrecedenceType(DataTypePrecedence code)
void SetTypeMismatchError(int op, Type left, Type right)
override bool IsTableConstant()
override bool DependsOn(DataColumn column)
static Type GetTypeStorage(StorageType storageType)
static bool IsObjectSqlNull(object value)
static bool IsSqlType(StorageType storageType)
static StorageType GetStorageType(Type dataType)
static SqlBoolean ConvertToSqlBoolean(object value)
static SqlBinary ConvertToSqlBinary(object value)
static SqlDouble ConvertToSqlDouble(object value)
static SqlDecimal ConvertToSqlDecimal(object value)
static SqlString ConvertToSqlString(object value)
static SqlMoney ConvertToSqlMoney(object value)
static SqlInt32 ConvertToSqlInt32(object value)
static SqlByte ConvertToSqlByte(object value)
static SqlInt16 ConvertToSqlInt16(object value)
static SqlDateTime ConvertToSqlDateTime(object value)
static SqlInt64 ConvertToSqlInt64(object value)
static SqlSingle ConvertToSqlSingle(object value)
static bool ToBoolean(object value)
static Exception TraceExceptionWithoutRethrow(Exception e)
static Exception Overflow(Type type)
static Exception UnsupportedOperator(int op)
static Exception InWithoutParentheses()
static Exception TypeMismatchInBinop(int op, Type type1, Type type2)
static Exception AmbiguousBinop(int op, Type type1, Type type2)
static Exception InvalidIsSyntax()
static bool IsInteger(StorageType type)
static bool IsNumericSql(StorageType type)
static bool IsSignedSql(StorageType type)
static bool IsUnsignedSql(StorageType type)
static bool IsSigned(StorageType type)
void Bind(DataTable table, List< DataColumn > list)
static bool IsUnsigned(StorageType type)
void BindTable(DataTable table)
static bool IsIntegerSql(StorageType type)
bool HasRemoteAggregate()
virtual bool DependsOn(DataColumn column)
static bool IsNumeric(StorageType type)
ExpressionNode Optimize()
static bool IsArithmetical(int op)
static bool IsRelational(int op)
static bool IsLogical(int op)
static byte Max(byte val1, byte val2)
static ? Type GetType(string typeName, bool throwOnError, bool ignoreCase)
static int Compare(DateTimeOffset first, DateTimeOffset second)
static int Compare(DateTime t1, DateTime t2)