public void Query_Streaming_Matching_All_Data() { var qfmt = "SELECT * FROM GeoCheckin WHERE time >= {0} and time <= {1} and geohash = 'hash1' and user = '******'"; var q = string.Format( qfmt, DateTimeUtil.ToUnixTimeMillis(TwentyMinsAgo), DateTimeUtil.ToUnixTimeMillis(Now)); ushort i = 0; Action <QueryResponse> cb = (QueryResponse qr) => { i++; Assert.AreEqual(Columns.Length, qr.Columns.Count()); CollectionAssert.IsNotEmpty(qr.Value); }; var cmd = new Query.Builder() .WithTable("GeoCheckin") .WithQuery(q) .WithCallback(cb) .Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); QueryResponse rsp = cmd.Response; Assert.IsFalse(rsp.NotFound); Assert.Greater(i, 0); }
public void Query_Table_Description() { var cmd = new Query.Builder() .WithTable("GeoCheckin") .WithQuery("DESCRIBE GeoCheckin") .Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); QueryResponse rsp = cmd.Response; Assert.IsFalse(rsp.NotFound); CollectionAssert.IsNotEmpty(rsp.Columns); CollectionAssert.IsNotEmpty(rsp.Value); int columnCount = rsp.Columns.Count(); Assert.True(columnCount >= 5 && columnCount <= 8); Assert.AreEqual(Columns.Length, rsp.Value.Count()); foreach (Row row in rsp.Value) { Assert.AreEqual(columnCount, row.Cells.Count()); } }
public void Query_Create_Table() { string tableName = Guid.NewGuid().ToString(); string sqlFmt = string.Format( @"CREATE TABLE RTS-{0} (geohash varchar not null, user varchar not null, time timestamp not null, weather varchar not null, temperature double, data blob, PRIMARY KEY((geohash, user, quantum(time, 15, m)), geohash, user, time))", tableName); var cmd = new Query.Builder() .WithTable(tableName) .WithQuery(sqlFmt) .Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); QueryResponse rsp = cmd.Response; Assert.IsFalse(rsp.NotFound); CollectionAssert.IsEmpty(rsp.Columns); CollectionAssert.IsEmpty(rsp.Value); }
public static Query BuildQuery(IQuery query) { Query.Builder builder = Query.CreateBuilder(); builder.SetType(BuildQueryType(query.GetQueryType())); builder.SetQuery_(query.Serialize()); return(builder.Build()); }
/** * LinqModel Constructor * * Unlike the DbExtensions SqlSet class we are mutable. * The Where, OrderBy, Skip, Take, etc just replace the * underlying Set object. * * We will also dispose of the the Datbase Connection for you * the second any meaningful data has been returned from the class. */ public Linq(string tableName, Context Db, Query.Builder Qb = null) { this.Ctx = Db; this.TableName = tableName; if (Qb != null) { this.DefiningQuery = Qb; } }
public void Should_Build_Req() { var cmd = new Query.Builder() .WithTable(Table) .WithQuery(Query) .Build(); Assert.AreEqual(MessageCode.TsQueryResp, cmd.ExpectedCode); TsQueryReq pb = (TsQueryReq)cmd.ConstructRequest(false); Assert.AreEqual(QueryRS, RiakString.FromBytes(pb.query.@base)); // NB: Query always streams Assert.IsTrue(pb.streamSpecified); Assert.IsTrue(pb.stream); }
public void Should_Build_Req() { var cmd = new Query.Builder() .WithTable(Table) .WithQuery(Query) .Build(); Assert.AreEqual(MessageCode.TsQueryResp, cmd.ExpectedCode); TsQueryReq pb = (TsQueryReq)cmd.ConstructPbRequest(); Assert.AreEqual(QueryRS, RiakString.FromBytes(pb.query.@base)); // NB: Query always streams Assert.IsTrue(pb.streamSpecified); Assert.IsTrue(pb.stream); }
public void Query_Matching_No_Data() { var qry = "SELECT * from GeoCheckin WHERE time > 0 and time < 10 and geohash = 'hash1' and user = '******'"; var cmd = new Query.Builder() .WithTable("GeoCheckin") .WithQuery(qry) .Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); QueryResponse rsp = cmd.Response; Assert.IsFalse(rsp.NotFound); CollectionAssert.IsEmpty(rsp.Columns); CollectionAssert.IsEmpty(rsp.Value); }
public void Should_Build_Req_With_Streaming() { Action <QueryResponse> cb = (QueryResponse qr) => { }; var cmd = new Query.Builder() .WithTable(Table) .WithQuery(Query) .WithCallback(cb) .Build(); Assert.AreEqual(MessageCode.TsQueryResp, cmd.ExpectedCode); TsQueryReq pb = (TsQueryReq)cmd.ConstructRequest(false); Assert.AreEqual(QueryRS, RiakString.FromBytes(pb.query.@base)); // NB: Query always streams Assert.IsTrue(pb.streamSpecified); Assert.IsTrue(pb.stream); }
public void Query_Matching_All_Data() { var qfmt = "SELECT * FROM GeoCheckin WHERE time >= {0} and time <= {1} and geohash = 'hash1' and user = '******'"; var q = string.Format( qfmt, DateTimeUtil.ToUnixTimeMillis(TwentyMinsAgo), DateTimeUtil.ToUnixTimeMillis(Now)); var cmd = new Query.Builder() .WithTable("GeoCheckin") .WithQuery(q) .Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); QueryResponse rsp = cmd.Response; Assert.IsFalse(rsp.NotFound); Assert.AreEqual(Columns.Length, rsp.Columns.Count()); Assert.AreEqual(Rows.Length, rsp.Value.Count()); }
public void Query_Streaming_Matching_All_Data() { var qfmt = "SELECT * FROM GeoCheckin WHERE time >= {0} and time <= {1} and geohash = 'hash1' and user = '******'"; var q = string.Format( qfmt, DateTimeUtil.ToUnixTimeMillis(TwentyMinsAgo), DateTimeUtil.ToUnixTimeMillis(Now)); ushort i = 0; Action<QueryResponse> cb = (QueryResponse qr) => { i++; Assert.AreEqual(Columns.Length, qr.Columns.Count()); CollectionAssert.IsNotEmpty(qr.Value); }; var cmd = new Query.Builder() .WithTable("GeoCheckin") .WithQuery(q) .WithCallback(cb) .Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); QueryResponse rsp = cmd.Response; Assert.IsFalse(rsp.NotFound); Assert.Greater(i, 0); }