Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/23998 )
Change subject: [common] introduce ColumnSchemaBuilder ...................................................................... [common] introduce ColumnSchemaBuilder My in-progress patches to introduce array data type require updates on ColumnSchema. However, the number of parameters-by-default for ColumnSchema constructor is unmaintainable already. Consequently, the are too many unrelated parameters specified at call sites, making it hard to read and comprehend, and even more so if trying to make any updates. This changelist addresses these issues by introducing ColumnSchemaBuilder helper (similar to KuduClientBuilder, etc.). I also moved the full-fledged constructor of the ColumnSchema class into the private section to encourage using the simpler one and switch to ColumnSchemaBuilder for more advanced use cases. Correspondingly, I updated all the call sites to switch to ColumnSchemaBuilder where necessary. I removed the usage of std::optional for ColumnSchemaFromPB(), switching it to ColumnSchemaBuilder and renaming the helper function into ColumnSchemaBuilderFromPB(). In addition, a new enumeration ColumnSchema::Nullability has been added to specify NULLABLE and NOT_NULL instead of boolean parameter in the simpler ColumnSchema's constructor. This patch doesn't contain any functional modifications. Change-Id: I1c21b459b24675d0702c91add27950d91975fad9 Reviewed-on: http://gerrit.cloudera.org:8080/22976 Tested-by: Kudu Jenkins Reviewed-by: Abhishek Chennaka <[email protected]> (cherry picked from commit fe0410d03bfda8487cd11b13a068d403ba6a46cc) Conflicts: src/kudu/master/catalog_manager-test.cc Reviewed-on: http://gerrit.cloudera.org:8080/23998 Tested-by: Alexey Serbin <[email protected]> --- 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/generic_iterators-test.cc M src/kudu/common/key_util-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/scan_spec-test.cc 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-util.h M src/kudu/common/wire_protocol-test.cc M src/kudu/common/wire_protocol.cc M src/kudu/common/wire_protocol.h M src/kudu/integration-tests/auto_incrementing-itest.cc M src/kudu/integration-tests/create-table-itest.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/master-test.cc M src/kudu/tablet/all_types-scan-correctness-test.cc M src/kudu/tablet/cfile_set-test.cc M src/kudu/tablet/compaction-test.cc M src/kudu/tablet/delta_compaction-test.cc M src/kudu/tablet/diff_scan-test.cc M src/kudu/tablet/diskrowset-test.cc M src/kudu/tablet/key_value_test_schema.h M src/kudu/tablet/memrowset-test.cc M src/kudu/tablet/tablet-decoder-eval-test.cc M src/kudu/tablet/tablet-pushdown-test.cc M src/kudu/tablet/tablet-schema-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_auto_incrementing-test.cc M src/kudu/tools/kudu-tool-test.cc M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_server_authorization-test.cc M src/kudu/tserver/tablet_service.cc 40 files changed, 816 insertions(+), 500 deletions(-) Approvals: Alexey Serbin: Verified Abhishek Chennaka: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/23998 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.18.x Gerrit-MessageType: merged Gerrit-Change-Id: I1c21b459b24675d0702c91add27950d91975fad9 Gerrit-Change-Number: 23998 Gerrit-PatchSet: 2 Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120)
