public void ScanHeapAsIndex(DatabaseVersion version) { RunDatabaseTest(version, db => { var scanner = new IndexScanner(db); var result = scanner.ScanIndex("Heap", null).ToList(); Assert.AreEqual(382, result[0]["Num1"]); Assert.AreEqual("John", result[0]["Name"]); Assert.AreEqual(112, result[1]["Num1"]); Assert.AreEqual("Doe", result[1]["Name"]); }); }
public void ScanClusteredIndexOnUniqueClusteredTable(DatabaseVersion version) { RunDatabaseTest(version, db => { var scanner = new IndexScanner(db); var result = scanner.ScanIndex("UniqueClusteredTable", "CX_Num1_Name").ToList(); Assert.AreEqual(112, result[0]["Num1"]); Assert.AreEqual("Doe", result[0]["Name"]); Assert.AreEqual(382, result[1]["Num1"]); Assert.AreEqual("John", result[1]["Name"]); }); }
public void ScanNonclusteredIndexOnNonUniqueClusteredTable(DatabaseVersion version) { RunDatabaseTest(version, db => { var scanner = new IndexScanner(db); var result = scanner.ScanIndex("NonUniqueClusteredTable", "IDX_Num1").ToList(); Assert.AreEqual(112, result[0]["Num1"]); Assert.AreEqual(0, result[0][DataColumn.Uniquifier]); Assert.AreEqual(382, result[1]["Num1"]); Assert.AreEqual(0, result[1][DataColumn.Uniquifier]); Assert.AreEqual(382, result[2]["Num1"]); Assert.AreEqual(1, result[2][DataColumn.Uniquifier]); }); }
public void ScanNonclusteredIndexOnHeap(DatabaseVersion version) { RunDatabaseTest(version, db => { // Index stored in sorted order var scanner = new IndexScanner(db); var result = scanner.ScanIndex("Heap", "IDX_Num1").ToList(); Assert.AreEqual(112, result[0]["Num1"]); Assert.AreEqual(1, ((SlotPointer)result[0][DataColumn.RID]).FileID); Assert.AreEqual(1, ((SlotPointer)result[0][DataColumn.RID]).SlotID); Assert.AreEqual(382, result[1]["Num1"]); Assert.AreEqual(1, ((SlotPointer)result[1][DataColumn.RID]).FileID); Assert.AreEqual(0, ((SlotPointer)result[1][DataColumn.RID]).SlotID); // Data stored in insertion order var dataScanner = new DataScanner(db); var dataResult = dataScanner.ScanTable("Heap").ToList(); Assert.AreEqual(382, dataResult[0]["Num1"]); Assert.AreEqual(112, dataResult[1]["Num1"]); }); }