[ https://issues.apache.org/jira/browse/HIVE-21725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Miklos Gergely updated HIVE-21725: ---------------------------------- Status: Open (was: Patch Available) > Break up DDLTask - extract Column and Constraint related operations > ------------------------------------------------------------------- > > Key: HIVE-21725 > URL: https://issues.apache.org/jira/browse/HIVE-21725 > 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-21725.01.patch, HIVE-21725.02.patch, > HIVE-21725.03.patch, HIVE-21725.04.patch, HIVE-21725.05.patch, > HIVE-21725.06.patch, HIVE-21725.07.patch, HIVE-21725.08.patch, > HIVE-21725.09.patch > > > DDLTask is a huge class, more than 5000 lines long. The related DDLWork is > also a huge class, which has a field for each DDL operation it supports. The > goal is 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 > * 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 are two DDLTask and DDLWork classes in the > code base the new ones in the new package are called DDLTask2 and DDLWork2 > thus avoiding the usage of fully qualified class names where both the old and > the new classes are in use. > Step #9: extract all the column and constraint related operations from the > old DDLTask, and move them under the new package each. -- This message was sent by Atlassian JIRA (v7.6.3#76005)