Пример #1
0
        public void ScanNonclusteredIndexOnUniqueClusteredTable(DatabaseVersion version)
        {
            RunDatabaseTest(version, db =>
            {
                var scanner = new IndexScanner(db);
                var result  = scanner.ScanIndex("UniqueClusteredTable", "IDX_Num1").ToList();

                Assert.AreEqual(112, result[0]["Num1"]);
                Assert.AreEqual(382, result[1]["Num1"]);
            });
        }
Пример #2
0
        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"]);
            });
        }
Пример #3
0
        public void GetTestDb()
        {
            var d = new Database(new[] { @"F:\mssql\DATA\TestDateTime.mdf",
                                         @"F:\mssql\DATA\TestDateTime_log.ldf" });
            //var rr = d.Dmvs.Indexes.Select(p => p.Name).ToArray();

            var my = d.Dmvs.Indexes.Where(p => p.Name == "PK__TestTabl__3BB02EDE1841AE52").ToArray();

            var ss = new DataScanner(d);

            var rrr = ss.ScanTable("TestTable").Take(10).ToArray();

            var scanner = new IndexScanner(d);

            var rr = scanner.ScanIndex("TestTable", "PK__TestTabl__3BB02EDE1841AE52").Take(10).ToArray();
        }
Пример #4
0
        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"]);
            });
        }