It's not a check-in-ready patch. It is tested locally but wasn't tested in cluster yet. Since it is involved in metastore change, want to do a preliminary first to make sure the metastore change is OK before testing on clusters.
(1) modify thrift model and jdo to add extra columns "protectmode"
(2) modify respective metastore codes to fetch and set the new columns
(3) add command "alter table xxx set protectmode ..." and "alter table xxx alter partition (...) set protectmode ..."
(4) When parsing and generating test, make sure we check protect mode of all tables/partitions read or written. Throw error if that is the case.
(5) unit tests for it.