Hey Dylan,

Check out this branch in my fork:
https://github.com/robertclaus/incubator-quickstep/tree/network-client-apis

The latest commit in the branch allows you to change the default output of
the CLI to csv instead of the table format.  (The table format is fixed
length-ish, so it's hard to parse without access to the table schema)

There is also a trick to output CSV using COPY in the SQL, but it requires
modifying your queries.

Note this branch also has some libraries I wrote for accessing the network
CLI from python and javascript if you still need them.  (I got the
impression you were working in a different language)

-Robert

On Mon, Dec 4, 2017 at 2:30 PM, Dylan Bacon <dba...@wisc.edu> wrote:

> 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