public void DistinctGetValuesWhenHasDistinctValuesShouldReturnOnlyDistinctRows1MilOfRows100Col() { BinaryDataListStorage bdls = new BinaryDataListStorage("MySweetNamespace", Guid.NewGuid()); // build insert value ;) IIndexIterator keys = AddLotsOfRows1Mil(bdls); // Insert information List <int> distinctCols = new List <int> { 2, 4, 5, 7, 120, 134, 99, 78, 34 }; DateTime start = DateTime.Now; List <int> rows = bdls.DistinctGetRows(keys, distinctCols); DateTime end = DateTime.Now; double dif = (end.Ticks - (double)start.Ticks) / TimeSpan.TicksPerSecond; Assert.AreEqual(7, rows.Count); Assert.IsTrue(dif < 20, string.Format("Time taken: {0}", dif)); Console.Write(dif); }
public void DistinctGetValuesWhenHasDistinctValuesShouldReturnOnlyDistinctRows() { BinaryDataListStorage bdls = new BinaryDataListStorage("MySweetNamespace", Guid.NewGuid()); // build insert value ;) var row = CreateBinaryDataListRow("1", "1", "Barney", "T", "Buchan"); var row2 = CreateBinaryDataListRow("2", "2", "Huggs", "W", "Naidu"); var row3 = CreateBinaryDataListRow("3", "3", "Trav", "A", "Fri"); var row4 = CreateBinaryDataListRow("4", "4", "Trav", "B", "Fri"); var row5 = CreateBinaryDataListRow("5", "5", "Huggs", "C", "Bear"); var row6 = CreateBinaryDataListRow("6", "6", "Huggs", "D", "Naidu"); bdls.Add(1, row); bdls.Add(2, row2); bdls.Add(3, row3); bdls.Add(4, row4); bdls.Add(5, row5); bdls.Add(6, row6); // Insert information IIndexIterator keys = new IndexIterator(null, 6); List <int> distinctCols = new List <int> { 2, 4 }; List <int> rows = bdls.DistinctGetRows(keys, distinctCols); Assert.AreEqual(4, rows.Count); // now fetch each item ;) IBinaryDataListRow myRow; bdls.TryGetValue(rows[0], 1, out myRow); Assert.IsFalse(myRow.IsEmpty); bdls.TryGetValue(rows[3], 1, out myRow); Assert.IsFalse(myRow.IsEmpty); }
public void DistinctGetValuesWhenHasDistinctValuesShouldReturnOnlyDistinctRows1MilOfRows100Col() { BinaryDataListStorage bdls = new BinaryDataListStorage("MySweetNamespace", Guid.NewGuid()); // build insert value ;) IIndexIterator keys = AddLotsOfRows1Mil(bdls); // Insert information List<int> distinctCols = new List<int> { 2, 4, 5, 7, 120, 134, 99, 78, 34 }; DateTime start = DateTime.Now; List<int> rows = bdls.DistinctGetRows(keys, distinctCols); DateTime end = DateTime.Now; double dif = (end.Ticks - (double)start.Ticks) / TimeSpan.TicksPerSecond; Assert.AreEqual(7, rows.Count); Assert.IsTrue(dif < 20, string.Format("Time taken: {0}", dif)); Console.Write(dif); }
public void DistinctGetValuesWhenHasDistinctValuesShouldReturnOnlyDistinctRows() { BinaryDataListStorage bdls = new BinaryDataListStorage("MySweetNamespace", Guid.NewGuid()); // build insert value ;) var row = CreateBinaryDataListRow("1", "1", "Barney", "T", "Buchan"); var row2 = CreateBinaryDataListRow("2", "2", "Huggs", "W", "Naidu"); var row3 = CreateBinaryDataListRow("3", "3", "Trav", "A", "Fri"); var row4 = CreateBinaryDataListRow("4", "4", "Trav", "B", "Fri"); var row5 = CreateBinaryDataListRow("5", "5", "Huggs", "C", "Bear"); var row6 = CreateBinaryDataListRow("6", "6", "Huggs", "D", "Naidu"); bdls.Add(1, row); bdls.Add(2, row2); bdls.Add(3, row3); bdls.Add(4, row4); bdls.Add(5, row5); bdls.Add(6, row6); // Insert information IIndexIterator keys = new IndexIterator(null,6); List<int> distinctCols = new List<int> { 2, 4 }; List<int> rows = bdls.DistinctGetRows(keys, distinctCols); Assert.AreEqual(4, rows.Count); // now fetch each item ;) IBinaryDataListRow myRow; bdls.TryGetValue(rows[0], 1, out myRow); Assert.IsFalse(myRow.IsEmpty); bdls.TryGetValue(rows[3], 1, out myRow); Assert.IsFalse(myRow.IsEmpty); }