Yingchun Lai has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/18742


Change subject: KUDU-3353 [schema] Add an immutable attribute on column schema 
(part 1)
......................................................................

KUDU-3353 [schema] Add an immutable attribute on column schema (part 1)

1. Add a column attribute to define a column as IMMUTABLE, means
   the column cell value can not be updated after it's been written
   during inserting the row.
2. Use UPDATE_IGNORE and add UPSERT_IGNORE, for UPDATE and UPSERT
   ops but ignore update-errors on IMMUTABLE columns.
3. Since the column is immutable, we restrict it must be 'NOT NULL'.
   Otherwise, you can't update the NULL value after the initial insertion.
4. It's possible to add such a column with a default value.

Change-Id: I01e5a806c0e873239b49e6d0b37a7e36578b508d
---
M src/kudu/client/scan_configuration.cc
M src/kudu/client/schema.cc
M src/kudu/codegen/codegen-test.cc
M src/kudu/common/column_predicate-test.cc
M src/kudu/common/common.proto
M src/kudu/common/generic_iterators-test.cc
M src/kudu/common/partial_row-test.cc
M src/kudu/common/partition-test.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/common/row_operations.cc
M src/kudu/common/row_operations.h
M src/kudu/common/row_operations.proto
M src/kudu/common/schema-test.cc
M src/kudu/common/schema.cc
M src/kudu/common/schema.h
M src/kudu/common/wire_protocol-test.cc
M src/kudu/common/wire_protocol.cc
M src/kudu/common/wire_protocol.proto
M src/kudu/consensus/log-test.cc
M src/kudu/master/master.proto
M src/kudu/tablet/all_types-scan-correctness-test.cc
M src/kudu/tablet/cfile_set-test.cc
M src/kudu/tablet/diskrowset-test.cc
M src/kudu/tablet/local_tablet_writer.h
M src/kudu/tablet/ops/op.cc
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/row_op.cc
M src/kudu/tablet/tablet-decoder-eval-test.cc
M src/kudu/tablet/tablet-test-base.h
M src/kudu/tablet/tablet-test-util.h
M src/kudu/tablet/tablet-test.cc
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_bootstrap.cc
M src/kudu/tablet/tablet_metrics.cc
M src/kudu/tablet/tablet_metrics.h
M src/kudu/tablet/tablet_random_access-test.cc
M src/kudu/tablet/txn_participant-test.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tserver/tablet_server_authorization-test.cc
M src/kudu/util/status.cc
M src/kudu/util/status.h
43 files changed, 269 insertions(+), 59 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I01e5a806c0e873239b49e6d0b37a7e36578b508d
Gerrit-Change-Number: 18742
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai <[email protected]>

Reply via email to