Got this end of things working and am now talking to Quickstep remotely. Is there a simple or built in way to parse our query result format or do I just have to manually parse through all the column delimiters?

On 11/30/17 6:24 PM, Jianqiao wrote:
Yes. NetworkCliClient is quite standalone. The dependencies are:
----
(1) #include <grpc++/grpc++.h>
(2) #include "cli/NetworkCli.grpc.pb.h"
(3) #include "cli/NetworkCli.pb.h"
(4) #include "utility/Macros.hpp"
----

To write your own client:
----
(A) Setup grpc so that you can include the header files and link to it.

(B) Grab NetworkCli.proto (https://github.com/apache/
incubator-quickstep/blob/master/cli/NetworkCli.proto), change the package
name if necessary (originally quickstep).
Either
(B.1) use grpc/protobuf tools to compile NetworkCli.proto to generate (2)
and (3) -- see https://github.com/apache/incubator-quickstep/blob/
master/cli/CMakeLists.txt#L53
or
(B.2) compile quickstep and grab the files from build/cli/

(C) Copy the NetworkCliClient class from QS into your client code.
----

(A)/(B) may be somehow annoying to handle as you need to search through
various documentations ...


Best,
Jianqiao

2017-11-30 17:07 GMT-06:00 Dylan Bacon <dba...@wisc.edu>:

So NetworkCliClient should be something I'm able to include in my program
along with the appropriate dependencies and use as the API? I was thinking
about needing to do that but I wasn't sure if that was a standalone API QS
has implemented or a core part of the system. Unless I'm being mistaken and
you're talking about something from gRPC. This is my first time working
with it.



On 11/30/17 4:58 PM, Jianqiao wrote:

Hi Dylan,

Currently the network mode is using gRPC, so you probably need to use the
corresponding API (see
https://github.com/apache/incubator-quickstep/blob/master/
cli/NetworkCliClientMain.cpp#L42
as an example). The raw socket connection won't work unless you hack
gRPC's
message exchange protocol ..

Best,
Jianqiao

2017-11-30 16:49 GMT-06:00 Dylan Bacon <dba...@wisc.edu>:

Hello,
I am attempting to interface with Quickstep using its NetworkCliClient
and
it's not working as I would expect. I have the default port and IP set to
3000 and 0.0.0.0 and am attempting to send single queries to be processed
over in my test harness. From what I could tell of the code when QS is in
network mode it accepts a socket connection and string input from that
function and processes it in NetworkCliClient.hpp and
NetworkCliClientMain.cpp, and yet this is not happening with my test
code.
The connection is being established but Quickstep does not seem to be
doing
anything with the queries that come in.

Attached is the test code that I am using. test is just a table by that
name, I'm selecting a literal from it so the contents shouldn't matter.
I've also attempted to create a table with this but Quickstep did not
process that.

--
Regards,

Dylan Bacon
University of Wisconsin - Madison
Department of Computer Sciences
dba...@wisc.edu




Reply via email to