1 write to info
System.Data (1)
fx\src\data\System\Data\Filter\FunctionNode.cs (1)
53
this.
info
= i;
59 references to info
System.Data (59)
fx\src\data\System\Data\Filter\FunctionNode.cs (59)
57
if (this.
info
< 0) {
63
if (!funcs[
info
].IsVariantArgumentList && argumentCount >= funcs[
info
].argumentCount)
83
if (funcs[
info
].id == FunctionId.Convert) {
106
Debug.Assert(
info
< funcs.Length &&
info
>= 0, "Invalid function info.");
110
Debug.Assert(this.argumentCount == funcs[
info
].argumentCount || funcs[
info
].IsVariantArgumentList, "Invalid argument argumentCount.");
113
if (funcs[
info
].id == FunctionId.Convert) {
120
else if (funcs[
info
].id != FunctionId.Iif) { // We do not want to evaluate arguments of IIF, we =will alread do it in EvalFunction/ second point: we may go to div by 0
124
if (funcs[
info
].IsValidateArguments) {
125
if ((argumentValues[i] == DBNull.Value) || (typeof(object) == funcs[
info
].parameters[i])) {
131
if (argumentValues[i].GetType() != funcs[
info
].parameters[i]) {
134
if (funcs[
info
].parameters[i] == typeof(int) && ExpressionNode.IsInteger(DataStorage.GetStorageType(argumentValues[i].GetType()))) {
137
else if ((funcs[
info
].id == FunctionId.Trim) || (funcs[
info
].id == FunctionId.Substring)|| (funcs[
info
].id == FunctionId.Len)) {
139
throw ExprException.ArgumentType(funcs[
info
].name, i+1, funcs[
info
].parameters[i]);
143
throw ExprException.ArgumentType(funcs[
info
].name, i+1, funcs[
info
].parameters[i]);
149
return EvalFunction(funcs[
info
].id, argumentValues, row, version);
167
Debug.Assert(this.
info
> -1, "All function nodes should be bound at this point."); // default info is -1, it means if not bounded, it should be -1, not 0!!
212
Debug.Assert(this.
info
> -1, "Optimizing unbound function "); // default info is -1, it means if not bounded, it should be -1, not 0!!
214
if (funcs[this.
info
].id == FunctionId.In) {
242
throw ExprException.ArgumentType(funcs[
info
].name, 2, typeof(Type));
258
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
266
throw ExprException.ArgumentTypeInteger(funcs[
info
].name, 1);
269
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
286
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
290
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
294
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
298
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
302
Debug.Assert(argumentCount == 2, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
304
Debug.Assert(argumentValues[0] is string, "Invalid argument type for " + funcs[
info
].name);
305
Debug.Assert(argumentValues[1] is string, "Invalid argument type for " + funcs[
info
].name);
333
throw ExprException.NYI(funcs[
info
].name);
344
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
345
Debug.Assert((argumentValues[0] is string)||(argumentValues[0] is SqlString), "Invalid argument type for " + funcs[
info
].name);
361
Debug.Assert((argumentValues[0] is string)||(argumentValues[0] is SqlString), "Invalid first argument " + argumentValues[0].GetType().FullName + " in " + funcs[
info
].name);
362
Debug.Assert(argumentValues[1] is int, "Invalid second argument " + argumentValues[1].GetType().FullName + " in " + funcs[
info
].name);
363
Debug.Assert(argumentValues[2] is int, "Invalid third argument " + argumentValues[2].GetType().FullName + " in " + funcs[
info
].name);
400
Debug.Assert(argumentCount == 1, "Invalid argument argumentCount for " + funcs[
info
].name + " : " + argumentCount.ToString(FormatProvider));
401
Debug.Assert((argumentValues[0] is string)||(argumentValues[0] is SqlString), "Invalid argument type for " + funcs[
info
].name);
483
throw ExprException.UndefinedFunction(funcs[
info
].name);
490
return funcs[this.
info
].id;
498
bool aggregate = (funcs[this.
info
].id == FunctionId.Sum) ||
499
(funcs[this.
info
].id == FunctionId.Avg) ||
500
(funcs[this.
info
].id == FunctionId.Min) ||
501
(funcs[this.
info
].id == FunctionId.Max) ||
502
(funcs[this.
info
].id == FunctionId.Count) ||
503
(funcs[this.
info
].id == FunctionId.StDev) ||
504
(funcs[this.
info
].id == FunctionId.Var);
510
Function f = funcs[
info
];
511
if (this.
info
< 0)
514
if (funcs[
info
].IsVariantArgumentList) {
516
if (argumentCount < funcs[
info
].argumentCount) {
518
if (funcs[this.
info
].id == FunctionId.In)
526
if (argumentCount != funcs[
info
].argumentCount)