Alexey Serbin has uploaded a new change for review.

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

Change subject: C++ client: deprecating KuduPartialRow::SetString()
......................................................................

C++ client: deprecating KuduPartialRow::SetString()

KuduPartialRow::Set{String,Binary}() are marked as deprecated.
Use KuduPartialRow::Set{String,Binary}NoCopy() instead.

KuduPartialRow::SetString()/SetBinary() behavior is optimized
to make no copies of the passed data.  However, a user of the API
might assume they are safe to use along with other setters as
SetInt32, SetDouble, etc. where the string or binary data
goes out of scope (or deallocated) before AppendToPB() is called.
To play safe, new methods are introduced instead:
KuduPartialRow::Set{String,Binary}NoCopy().  The new names
contain a hint about the optimized behavior of these methods.

An alternative approach might be to change behavior of
KuduPartialRow::Set{String,Binary}() and introduce only
KuduPartialRow::Set{String,Binary}NoCopy(), but there are
compatibility- and performance regression-related concerns.

Change-Id: I348b0b9437b8d7928e3b607a0e0610d8d0c58f7c
---
M src/kudu/client/stubs.h
M src/kudu/common/partial_row.cc
M src/kudu/common/partial_row.h
M src/kudu/gutil/port.h
4 files changed, 76 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/3723/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3723
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I348b0b9437b8d7928e3b607a0e0610d8d0c58f7c
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Alexey Serbin <aser...@cloudera.com>

Reply via email to