public void QueryPredicate2() { int begin = 10; int end = 45; Statement stmt = new Statement(); stmt.SetNamespace(args.ns); stmt.SetSetName(setName); stmt.SetFilter(Filter.Range(binName, begin, end)); stmt.SetPredExp( PredExp.IntegerBin("bin2"), PredExp.IntegerValue(15), PredExp.IntegerGreaterEq(), PredExp.IntegerBin("bin2"), PredExp.IntegerValue(42), PredExp.IntegerLessEq(), PredExp.And(2), PredExp.Not() ); RecordSet rs = client.Query(null, stmt); try { int count = 0; while (rs.Next()) { //Console.WriteLine(rs.Record.GetValue(binName)); count++; } // 10, 11, 12, 13, 43, 44, 45 Assert.AreEqual(8, count); } finally { rs.Close(); } }
private void RunQuery2(AerospikeClient client, Arguments args, string binName) { int begin = 10; int end = 40; console.Info("Query Predicate: Record updated on 2017-01-15"); DateTime beginTime = new DateTime(2017, 1, 15); DateTime endTime = new DateTime(2017, 1, 16); Statement stmt = new Statement(); stmt.SetNamespace(args.ns); stmt.SetSetName(args.set); stmt.SetFilter(Filter.Range(binName, begin, end)); stmt.SetPredExp( PredExp.RecLastUpdate(), PredExp.IntegerValue(beginTime), PredExp.IntegerGreaterEq(), PredExp.RecLastUpdate(), PredExp.IntegerValue(endTime), PredExp.IntegerLess(), PredExp.And(2) ); RecordSet rs = client.Query(null, stmt); try { while (rs.Next()) { Record record = rs.Record; console.Info("Record: " + record.ToString()); } } finally { rs.Close(); } }