You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by "Thomas Tauber-Marshall (Code Review)" <ge...@cloudera.org> on 2016/05/03 00:33:25 UTC

[hs2client-CR] Initial structure for the C++ hiveserver2 client.

Thomas Tauber-Marshall has uploaded a new patch set (#10).

Change subject: Initial structure for the C++ hiveserver2 client.
......................................................................

Initial structure for the C++ hiveserver2 client.

The basic model: clients connect to the hiveserver2 server using
HS2Service::Connect. Sessions can then be started with
HS2Service::OpenSession, and operations can be run on the session
with functions like HS2Session::ExecuteStatement. The operation
handle provides functions for checking the operation status and
retrieving results.

The PIMPL idiom is used to hide Thrift from the public header files,
and a ThriftRPC struct containing the Thrift client object is passed
from the service into the session and operations to give them
access to RPC calls.

Currently, only fetching column oriented results is supported.
Fetched results are accessible via a ColumnarRowSet, and columns of
a given type can be accessed by their index. Column objects
expose pointers to the raw data returned by Thrift to give clients
access without unnecessary copying.

There is also a Status class that is used to indicate when RPCs
are unsuccessful, and a sample usage file to demonstrate how
a client can use the interface.

Change-Id: I7be82d5897ad6093116915b17924674c4ae508a0
---
A .gitignore
M CMakeLists.txt
A src/hs2client/api.h
A src/hs2client/columnar-row-set.cc
A src/hs2client/columnar-row-set.h
A src/hs2client/fetch-results.h
A src/hs2client/hs2service-test.cc
A src/hs2client/hs2service.cc
A src/hs2client/hs2service.h
A src/hs2client/hs2session-test.cc
A src/hs2client/hs2session.cc
A src/hs2client/hs2session.h
A src/hs2client/logging.h
A src/hs2client/macros.h
A src/hs2client/operation-test.cc
A src/hs2client/operation.cc
A src/hs2client/operation.h
A src/hs2client/public-api-test.cc
A src/hs2client/sample-usage.cc
A src/hs2client/status.cc
A src/hs2client/status.h
A src/hs2client/test-util.h
A src/hs2client/thrift-internal.cc
A src/hs2client/thrift-internal.h
A src/hs2client/util.cc
A src/hs2client/util.h
26 files changed, 2,565 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/hs2client refs/changes/45/2645/10
-- 
To view, visit http://gerrit.cloudera.org:8080/2645
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I7be82d5897ad6093116915b17924674c4ae508a0
Gerrit-PatchSet: 10
Gerrit-Project: hs2client
Gerrit-Branch: master
Gerrit-Owner: Thomas Tauber-Marshall <tm...@cloudera.com>
Gerrit-Reviewer: Marcel Kornacker <ma...@cloudera.com>
Gerrit-Reviewer: Matthew Jacobs <mj...@cloudera.com>
Gerrit-Reviewer: Thomas Tauber-Marshall <tm...@cloudera.com>
Gerrit-Reviewer: Wes McKinney <we...@cloudera.com>