Esempio n. 1
0
        public override RpbReq ConstructPbRequest()
        {
            var req = new TsQueryReq();

            req.query = new TsInterpolation
            {
                @base = CommandOptions.Query
            };

            // NB: always stream, collect results unless callback is passed.
            req.stream = true;

            return(req);
        }
        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);
        }
Esempio n. 3
0
        public override RiakReq ConstructRequest(bool useTtb)
        {
            if (useTtb)
            {
                expectedCode = MessageCode.TsTtbMsg;
                usingTtb     = true;

                using (var os = new OtpOutputStream())
                {
                    os.WriteByte(OtpExternal.VersionTag);

                    // TsQueryReq is a 4-tuple: {'tsqueryreq', TsInterpolation, boolIsStreaming, bytesCoverContext}
                    os.WriteTupleHead(4);
                    os.WriteAtom(TsQueryReqAtom);

                    // TsInterpolation is a 3-tuple
                    // {'tsinterpolation', query, []} empty list is interpolations
                    os.WriteTupleHead(3);
                    os.WriteAtom(TsInterpolationAtom);
                    os.WriteStringAsBinary(CommandOptions.Query);
                    os.WriteNil();

                    os.WriteBoolean(false);
                    os.WriteAtom(UndefinedAtom);
                    os.Flush();

                    return(new TsTtbMsg(os.ToArray()));
                }
            }
            else
            {
                var req = new TsQueryReq();

                req.query = new TsInterpolation
                {
                    @base = CommandOptions.Query
                };

                // NB: always stream, collect results unless callback is passed.
                req.stream = true;

                return(req);
            }
        }
Esempio n. 4
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);
        }