impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Tauber-Marshall (Code Review)" <ger...@cloudera.org>
Subject [hs2client-CR] Initial structure for the C++ hiveserver2 client.
Date Tue, 10 May 2016 21:36:39 GMT
Hello Wes McKinney, Matthew Jacobs,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/2645

to look at the new patch set (#16).

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
hs2client::Service::Connect. Sessions can then be started with
Service::OpenSession, and operations can be run on the session
with functions like Session::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/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/service-test.cc
A src/hs2client/service.cc
A src/hs2client/service.h
A src/hs2client/session-test.cc
A src/hs2client/session.cc
A src/hs2client/session.h
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/types.cc
A src/hs2client/types.h
A src/hs2client/util.cc
A src/hs2client/util.h
27 files changed, 2,669 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/hs2client refs/changes/45/2645/16
-- 
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: 16
Gerrit-Project: hs2client
Gerrit-Branch: master
Gerrit-Owner: Thomas Tauber-Marshall <tmarshall@cloudera.com>
Gerrit-Reviewer: Marcel Kornacker <marcel@cloudera.com>
Gerrit-Reviewer: Matthew Jacobs <mj@cloudera.com>
Gerrit-Reviewer: Thomas Tauber-Marshall <tmarshall@cloudera.com>
Gerrit-Reviewer: Wes McKinney <wes@cloudera.com>

Mime
View raw message