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);
        }
Example #4
0
 public static Query BuildQuery(IQuery query)
 {
     Query.Builder builder = Query.CreateBuilder();
     builder.SetType(BuildQueryType(query.GetQueryType()));
     builder.SetQuery_(query.Serialize());
     return(builder.Build());
 }
Example #5
0
 /**
  * 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;
     }
 }
Example #6
0
        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);
        }
Example #9
0
        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);
        }
        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_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 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);
        }