Hello Alexey Serbin, Yifan Zhang, Kudu Jenkins, Abhishek Chennaka,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/18993
to look at the new patch set (#9).
Change subject: KUDU-3353 [schema] Add an immutable attribute on column schema
(part 3)
......................................................................
KUDU-3353 [schema] Add an immutable attribute on column schema (part 3)
This is a follow-up to b6eedb224f715ad86378a92d25f09c2084b0e2b7.
This patch contains the Java client-side changes
of the "new column attribute IMMUTABLE" feature,
including:
1. Adds a new 'immutable(boolean immutable)' method to
class ColumnSchemaBuilder to add/remove IMMUTABLE
attribute to/from a column.
2. Adds a new 'isImmutable()' method to class
ColumnSchema to check if the attribute is set for
a column schema.
3. Adds a new 'hasImmutableColumns()' method to class
Schema to check if there's at least one immutable
column for a table schema.
4. Adds a new 'changeImmutable(String name, boolean immutable)'
method to class AlterTableOptions to change the
immutable attribute for a column.
5. Adds a new UpsertIgnore operation in the client API:
use the newly added KuduTable.newUpsertIgnore() to
create a new instance of such operation.
Both UpsertIgnore and UpdateIgnore operations can be used
to ignore errors on updating cells of immutable columns.
6. Adds unit tests to cover the newly introduced functionality.
Change-Id: Ifdfdcd123296803a3b5e856ec5eaac49c05b7f8d
---
M java/kudu-client/src/main/java/org/apache/kudu/ColumnSchema.java
M java/kudu-client/src/main/java/org/apache/kudu/Schema.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ProtobufHelper.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Status.java
M java/kudu-client/src/main/java/org/apache/kudu/client/UpdateIgnore.java
A java/kudu-client/src/main/java/org/apache/kudu/client/UpsertIgnore.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/ClientTestUtil.java
17 files changed, 511 insertions(+), 39 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/93/18993/9
--
To view, visit http://gerrit.cloudera.org:8080/18993
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ifdfdcd123296803a3b5e856ec5eaac49c05b7f8d
Gerrit-Change-Number: 18993
Gerrit-PatchSet: 9
Gerrit-Owner: Yingchun Lai <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yifan Zhang <[email protected]>
Gerrit-Reviewer: Yingchun Lai <[email protected]>