miklosgergely commented on a change in pull request #543: HIVE-21292: Break up DDLTask 1 - extract Database related operations URL: https://github.com/apache/hive/pull/543#discussion_r259325961
########## File path: ql/src/java/org/apache/hadoop/hive/ql/exec/ddl/database/AlterDatabaseDesc.java ########## @@ -16,112 +16,100 @@ * limitations under the License. */ -package org.apache.hadoop.hive.ql.plan; +package org.apache.hadoop.hive.ql.exec.ddl.database; import java.io.Serializable; import java.util.Map; +import org.apache.hadoop.hive.ql.exec.ddl.DDLDesc; +import org.apache.hadoop.hive.ql.exec.ddl.DDLTask2; import org.apache.hadoop.hive.ql.parse.ReplicationSpec; +import org.apache.hadoop.hive.ql.plan.Explain; import org.apache.hadoop.hive.ql.plan.Explain.Level; +import org.apache.hadoop.hive.ql.plan.PrincipalDesc; /** - * AlterDatabaseDesc. - * + * DDL task description for ALTER DATABASE commands. */ @Explain(displayName = "Alter Database", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED }) public class AlterDatabaseDesc extends DDLDesc implements Serializable { - private static final long serialVersionUID = 1L; - // Only altering the database property and owner is currently supported - public static enum ALTER_DB_TYPES { - ALTER_PROPERTY, ALTER_OWNER, ALTER_LOCATION - }; - - ALTER_DB_TYPES alterType; - String databaseName; - Map<String, String> dbProperties; - PrincipalDesc ownerPrincipal; - ReplicationSpec replicationSpec; - String location; + static { + DDLTask2.registerOperator(AlterDatabaseDesc.class, AlterDatabaseOperation.class); + } /** - * For serialization only. + * Supported type of alter db commands. + * Only altering the database property and owner is currently supported */ - public AlterDatabaseDesc() { - } + public enum AlterDbType { + ALTER_PROPERTY, ALTER_OWNER, ALTER_LOCATION + }; - public AlterDatabaseDesc(String databaseName, Map<String, String> dbProps, Review comment: This would result in having longer classes, and putting one indentation level lower everything. Also later I'd consider moving the related parts of the DDLSemanticAnalyzer next to these classes in a third class, which if put into the same class would also result even longer container classes. I believe having a separate class for Desc, Operation and Analyzer is cleaner. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services