1 write to _records
System.Data.Common (1)
System\Data\Selection.cs (1)
723_records = new IndexTree(this);
50 references to _records
System.Data.Common (50)
System\Data\Selection.cs (50)
176return _records[recordIndex]; 179public bool HasDuplicates => _records.HasDuplicates; 234Debug.Assert(null != _records, "null records"); 298Debug.Assert(_records.CheckUnique(_records.root) != HasDuplicates, "CheckUnique difference"); 419int record = _records.DeleteByIndex(recordIndex); 434new IndexTree.RBTreeEnumerator(_records, startIndex); 439public int GetIndex(int record) => _records.GetIndexByKey(record); 468index = _records.GetIndexByKey(record); 500GetUniqueKeyValues(list, _records.root); 509int nodeId = _records.Search(record); 511return _records.GetIndexByNode(nodeId); //always returns the First record index 521return _records.GetIndexByNode(nodeId); 531return _records.GetIndexByNode(nodeId); 544x = _records.root; 551x = _records.root; 556c = column.CompareValueTo(_records.Key(x), key); 558if (c < 0) { x = _records.Left(x); } // < for decsending 559else { x = _records.Right(x); } 566c = column.CompareValueTo(_records.Key(x), key); 568if (c > 0) { x = _records.Left(x); } // > for ascending 569else { x = _records.Right(x); } 585x = _records.root; 596x = _records.root; 599c = CompareRecordToKey(_records.Key(x), key); 601if (c > 0) { x = _records.Left(x); } 602else { x = _records.Right(x); } 611x = _records.root; 615x = _records.root; 618c = CompareRecords(_records.Key(x), record); 620if (c > 0) { x = _records.Left(x); } 621else { x = _records.Right(x); } 632int x = _records.root; 635int c = comparison(key, (TRow)_table._recordManager[_records.Key(x)]!); 637if (c < 0) { x = _records.Left(x); } 638else { x = _records.Right(x); } 652int recordIndex = _records.GetIndexByNode(nodeId); 654if (_records.Next(nodeId) == IndexTree.NIL) 657int span = _records.SubTreeSize(_records.Next(nodeId)); 765_records.InsertAt(-1, record, append); 798int nodeId = _records.InsertAt(-1, record, append); 808OnListChanged(ListChangedType.ItemAdded, _records.GetIndexByNode(nodeId)); 814return _records.GetIndexByNode(nodeId); 962_records.UpdateNodeKey(oldRecord, newRecord); //change in place, as Both records have same key value 972_records.DeleteByIndex(oldRecordIndex); // DeleteByIndex doesn't require searching by key 976_records.Insert(newRecord); 1013GetUniqueKeyValues(list, _records.Left(curNodeId)); 1015int record = _records.Key(curNodeId); 1023GetUniqueKeyValues(list, _records.Right(curNodeId));