Will Berkeley has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8188 )
Change subject: KUDU-2132 Error dropping columns renamed to old key column names ...................................................................... KUDU-2132 Error dropping columns renamed to old key column names Suppose a table has two columns 'a' and 'b', and 'a' is the primary key. Consider the following sequence of alter table steps, done as part of one alter table request: 1. Rename the key column 'a' to 'c'. 2. Rename 'b' to 'a', the previous name of the key column. 3. Drop 'a'. This is a valid sequence, but previously we were rejecting it, saying that a primary key column was being dropped, even though that isn't the case. The problem is that CatalogManager::ApplyAlterSchemaSteps checked whether a column was a key column by checking by name against the table's schema before any alter steps were applied. The fix is to check against the schema with the previous alter steps applied. Change-Id: Ie27f7aa936e6dfcf6c8b0b7a701784b0683680f2 Reviewed-on: http://gerrit.cloudera.org:8080/8188 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo <a...@cloudera.com> Reviewed-by: Dan Burkert <danburk...@apache.org> --- M src/kudu/common/schema.h M src/kudu/integration-tests/alter_table-test.cc M src/kudu/master/catalog_manager.cc M src/kudu/master/catalog_manager.h 4 files changed, 21 insertions(+), 1 deletion(-) Approvals: Kudu Jenkins: Verified Adar Dembo: Looks good to me, but someone else must approve Dan Burkert: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/8188 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie27f7aa936e6dfcf6c8b0b7a701784b0683680f2 Gerrit-Change-Number: 8188 Gerrit-PatchSet: 3 Gerrit-Owner: Will Berkeley <wdberke...@gmail.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Dan Burkert <danburk...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Will Berkeley <wdberke...@gmail.com>