140 if (!(flag &&
flag2))
155 columnInfo.equalsOperator =
true;
184 columnInfo2.equalsOperator =
true;
200 for (
int i = 0; i < fields.Length; i++)
227 for (
int i = 0; i <
count; i++)
248 for (i = 0; i < num; i++)
272 for (
int i = 0; i <
count; i++)
338 for (i = 0; i < num; i++)
347 for (i = 0; i <
num2; i++)
352 columnInfo.flag =
true;
361 for (i = 0; i < num; i++)
369 for (i = 0; i <
num2; i++)
377 columnInfo2.flag =
false;
396 for (i = 0; i <
num2; i++)
402 columnInfo3.flag =
true;
406 for (i = 0; i < num; i++)
464 columnInfo.flag =
true;
467 for (
int i = 0; i <
num2; i++)
565 for (
int i = 0; i <
array.Length; i++)
572 [
UnconditionalSuppressMessage(
"ReflectionAnalysis",
"IL2026:RequiresUnreferencedCode", Justification =
"All constructors are marked as unsafe.")]
604 [
UnconditionalSuppressMessage(
"ReflectionAnalysis",
"IL2026:RequiresUnreferencedCode", Justification =
"All constructors are marked as unsafe.")]
623 if (expr.
_op != 13 && expr.
_op != 39)
719 int num2 = _index.RecordCount - 1;
744 int num = _index.RecordCount - 1;
747 int num2 = lo + num >> 1;
775 return default(
Range);
810 return list.ToArray();
840 for (
int i = 0; i < num; i++)
868 private void Sort(
int left,
int right)
static char ToChar(object? value)
static readonly DBNull Value
StorageType ResultSqlType(StorageType left, StorageType right, bool lc, bool rc, int op)
StorageType ResultType(StorageType left, StorageType right, bool lc, bool rc, int op)
int BinaryCompare(object vLeft, object vRight, StorageType resultType, int op)
void SetTypeMismatchError(int op, Type left, Type right)
static bool IsCatchableExceptionType(Exception e)
static bool IsObjectSqlNull(object value)
static StorageType GetStorageType(Type dataType)
static object ChangeType2(object value, StorageType stype, Type type, IFormatProvider formatProvider)
int Compare(int record1, int record2)
ExpressionNode ExpressionNode
static bool ToBoolean(object value)
DataColumn[] GetDependency()
IFormatProvider FormatProvider
readonly ReaderWriterLockSlim _indexesLock
readonly List< Index > _indexes
DataColumnCollection Columns
IndexField[] ParseSortString(string sortString)
DataRow[] NewRowArray(int size)
readonly RecordManager _recordManager
static Exception FilterConvertion(string expr)
RBTree< int >.RBTreeEnumerator GetEnumerator(int startIndex)
readonly IndexField[] _indexFields
DataRow[] GetRows(object[] values)
int GetRecord(int recordIndex)
bool _candidatesForBinarySearch
ColumnInfo[] _candidateColumns
void AnalyzeExpression(BinaryNode expr)
void Sort(int left, int right)
int Eval(BinaryNode expr, DataRow row, DataRowVersion version)
bool FindClosestCandidateIndex()
Range GetBinaryFilteredRecords()
bool AcceptRecord(int record)
ExpressionNode _linearExpression
readonly DataViewRowState _recordStates
int CompareRecords(int record1, int record2)
readonly DataTable _table
bool IsOperatorIn(ExpressionNode enode)
bool IsSupportedOperator(int op)
int[] GetLinearFilteredRecords(Range range)
int CompareClosestCandidateIndexDesc(IndexField[] fields)
int FindLastMatchingRecord(int lo)
int FindFirstMatchingRecord()
readonly ExpressionNode _expression
void BuildLinearExpression()
readonly DataExpression _rowFilter
bool CompareSortIndexDesc(IndexField[] fields)
Select(DataTable table, string filterExpression, string sort, DataViewRowState recordStates)
void InitCandidateColumns()
readonly IndexField[] _indexFields
DataRow[] GetLinearFilteredRows(Range range)
readonly DataColumn Column