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]>
