[ https://issues.apache.org/jira/browse/HIVE-21891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Miklos Gergely updated HIVE-21891: ---------------------------------- Attachment: HIVE-21891.04.patch > Break up DDLTask - cleanup > -------------------------- > > Key: HIVE-21891 > URL: https://issues.apache.org/jira/browse/HIVE-21891 > Project: Hive > Issue Type: Sub-task > Components: Hive > Affects Versions: 3.1.1 > Reporter: Miklos Gergely > Assignee: Miklos Gergely > Priority: Major > Labels: refactor-ddl > Fix For: 4.0.0 > > Attachments: HIVE-21891.01.patch, HIVE-21891.02.patch, > HIVE-21891.03.patch, HIVE-21891.04.patch, HIVE-21891.04.patch > > > DDLTask was a huge class, more than 5000 lines long. The related DDLWork was > also a huge class, which had a field for each DDL operation it supported. The > goal was to refactor these in order to have everything cut into more > handleable classes under the package org.apache.hadoop.hive.ql.exec.ddl: > * have a separate class for each operation > * have a package for each operation group (database ddl, table ddl, etc), so > the amount of classes under a package is more manageable > * make all the requests (DDLDesc subclasses) immutable - most of them are now > * DDLTask should be agnostic to the actual operations > * right now let's ignore the issue of having some operations handled by > DDLTask which are not actual DDL operations (lock, unlock, desc...) > In the interim time when there were two DDLTask and DDLWork classes in the > code base the new ones in the new package were called DDLTask2 and DDLWork2 > thus avoiding the usage of fully qualified class names where both the old and > the new classes were in use. > Step #12: rename DDLTask2 and DDLWork2, now that they are alone. Remove the > old DDLDesc. Instead of registering, now DDLTask finds the DDLOperations, and > registers them itself. -- This message was sent by Atlassian JIRA (v7.6.3#76005)