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); }
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); } }
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); }