Matthew Jacobs has posted comments on this change.

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


Patch Set 9:

(18 comments)

Looking really good, thanks!

I think just a few small things to address now before trying to get this in.

We will definitely need to add GetResultSetMetadata to Operation, but we can do 
that in a follow-up change. I filed 
https://github.com/cloudera/hs2client/issues/5

http://gerrit.cloudera.org:8080/#/c/2645/9/.gitignore
File .gitignore:

Line 4: Testing
where does this come from?


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/fetch-results.h
File src/hs2client/fetch-results.h:

Line 24: class RowSet {};
just mention this is empty because it's not supported yet.


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/hs2service.cc
File src/hs2client/hs2service.cc:

Line 92:   impl_->socket.reset(new TSocket(host_, port_));
I thought we were going to start passing through the timeout?


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/hs2service.h
File src/hs2client/hs2service.h:

Line 88: serssion
typo lol serssion


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/operation-test.cc
File src/hs2client/operation-test.cc:

Line 56: hasMoreRows
nit: variable names should be lower case with underscores per the coding style


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/operation.cc
File src/hs2client/operation.cc:

Line 70: hasMoreRows
nit: style, here and all instances in this file


Line 86: *hasMoreRows = row_set_impl->resp.hasMoreRows;
Same. Sorry, I know it's inconsistent with what comes back with thrift :/


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/operation.h
File src/hs2client/operation.h:

Line 65:   Status GetState(OperationState* out);
can these Get*, Fetch, and Cancel methods be marked const? I don't see them 
mutating state. (Close does).


Line 73: hasMoreRows
same as below


Line 76: hasMoreRows
nit: style wrt naming variables/parameters


Line 78: hasMoreRows
same


Line 89:   bool HasResultSet();
... const;


Line 93:   bool IsColumnar();
... const;


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/public-api-test.cc
File src/hs2client/public-api-test.cc:

Line 28:   FAIL() << "Thrift headers should not be in the public API";
nice. (I guess we have to find a way to remember to add new headers in the 
future...)


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/thrift-internal.cc
File src/hs2client/thrift-internal.cc:

Line 29: Enumeration
nit: typically all caps, e.g. ENUM


Line 30: EnumToInt
fancy


http://gerrit.cloudera.org:8080/#/c/2645/9/src/hs2client/util.h
File src/hs2client/util.h:

Line 26: PrintResults
I think this is fine for now, though I think we may want to distance this 
further from the core code. Maybe at some point we reorganize the code into a 
few folders: core, sample, test.


Line 30: Wait
can you move this to TestUtil as it's only used in a test.


-- 
To view, visit http://gerrit.cloudera.org:8080/2645
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I7be82d5897ad6093116915b17924674c4ae508a0
Gerrit-PatchSet: 9
Gerrit-Project: hs2client
Gerrit-Branch: master
Gerrit-Owner: Thomas Tauber-Marshall <[email protected]>
Gerrit-Reviewer: Marcel Kornacker <[email protected]>
Gerrit-Reviewer: Matthew Jacobs <[email protected]>
Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]>
Gerrit-Reviewer: Wes McKinney <[email protected]>
Gerrit-HasComments: Yes

Reply via email to