Hi Youngwoo, thank you very much for your question about correctness of the code. It's good to know that somebody is actually checking our work :-)
I've checked this particular file and the inheritance is intentional there, it's not a bug. This weird inheritance scheme (classes in apache that inherits from cloudera name space) can be seen across entire code base and I can imagine how confusing this whole situation is. Please accept my apology for that. Reason behind this is need to preserve backward compatibility with tools that are already based on sqoop code before 1.4.0 version without need to change single line of code. In order to fulfil this request, we had to preserve inheritance topology - for example that classes MySQLManager (in both name spaces) must at some point inherits from class ConnManager (from cloudera namespace). Arvind did excellent job in describing what changes were needed for the name space migration, so I would recommend to read his wiki page about that for additional details: https://cwiki.apache.org/confluence/display/SQOOP/Namespace+Migration Regards, Jarcec On Mon, Nov 21, 2011 at 11:30:19PM +0900, 김영우 wrote: > Hi, > > As I know, Sqoop committers did namespace migrations in 1.4.0 branch. but I > confused in org.apache.sqoop namespace. > > See > https://svn.apache.org/repos/asf/incubator/sqoop/branches/branch-1.4.0/src/java/org/apache/sqoop/manager/MySQLManager.java > > Excerpt: > ... > > import org.apache.hadoop.util.StringUtils; > import com.cloudera.sqoop.SqoopOptions; > import com.cloudera.sqoop.util.ImportException; > > /** > * Manages connections to MySQL databases. > */ > public class MySQLManager > extends com.cloudera.sqoop.manager.InformationSchemaManager { > > > I don't know why the class extends a class in com.cloudera.sqoop.* > package. Incomplete migrations? > > Please let me know if I missed something. > > Thanks, > > Youngwoo
signature.asc
Description: Digital signature
