You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Yingchun Lai (Code Review)" <ge...@cloudera.org> on 2022/03/29 07:43:48 UTC

[kudu-CR] KUDU-3353 [schema] Add an immutable attribute on column schema

Hello Tidy Bot, Kudu Jenkins, 

I'd like you to reexamine a change. Please visit

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

to look at the new patch set (#4).

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

KUDU-3353 [schema] Add an immutable attribute on column schema

1. Add a column attribute to define a column as IMMUTABLE, means
   the column cell value can not be updated after been written.
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 able to add such a column with a default value. All the old column
   data in the table has the default immutable value, new insertion can
   specify a cell value on the column or not, if not, default value will be
   used.

Change-Id: If80ebca7d3ab14db1591c14201f6d561155526cd
---
M src/kudu/client/client-test.cc
M src/kudu/client/client-unittest.cc
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/scan_configuration.cc
M src/kudu/client/schema-internal.h
M src/kudu/client/schema.cc
M src/kudu/client/schema.h
M src/kudu/client/write_op.cc
M src/kudu/client/write_op.h
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.h
M src/kudu/common/row_changelist.cc
M src/kudu/common/row_changelist.h
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/delta_applier.cc
M src/kudu/tablet/delta_applier.h
M src/kudu/tablet/delta_iterator_merger.cc
M src/kudu/tablet/delta_iterator_merger.h
M src/kudu/tablet/delta_store.h
M src/kudu/tablet/deltafile.cc
M src/kudu/tablet/deltafile.h
M src/kudu/tablet/deltamemstore-test.cc
M src/kudu/tablet/deltamemstore.cc
M src/kudu/tablet/deltamemstore.h
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/rowset.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
64 files changed, 748 insertions(+), 118 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/18241/4
-- 
To view, visit http://gerrit.cloudera.org:8080/18241
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If80ebca7d3ab14db1591c14201f6d561155526cd
Gerrit-Change-Number: 18241
Gerrit-PatchSet: 4
Gerrit-Owner: Yingchun Lai <ac...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)