You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ja...@apache.org on 2016/02/24 17:47:09 UTC
sqoop git commit: SQOOP-2839: Sqoop import failure due to data member
conflict in ORM code for table
Repository: sqoop
Updated Branches:
refs/heads/trunk b84ebf1e8 -> cfa7927c2
SQOOP-2839: Sqoop import failure due to data member conflict in ORM code for table
(VISHNU S NAIR via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/cfa7927c
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/cfa7927c
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/cfa7927c
Branch: refs/heads/trunk
Commit: cfa7927c2a3c129d140da7fa13ec9c97e17566dd
Parents: b84ebf1
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Wed Feb 24 08:46:24 2016 -0800
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Wed Feb 24 08:46:24 2016 -0800
----------------------------------------------------------------------
src/java/org/apache/sqoop/orm/ClassWriter.java | 2 ++
.../com/cloudera/sqoop/orm/TestClassWriter.java | 34 ++++++++++++++++++++
2 files changed, 36 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/cfa7927c/src/java/org/apache/sqoop/orm/ClassWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/sqoop/orm/ClassWriter.java b/src/java/org/apache/sqoop/orm/ClassWriter.java
index 5202408..95c655d 100644
--- a/src/java/org/apache/sqoop/orm/ClassWriter.java
+++ b/src/java/org/apache/sqoop/orm/ClassWriter.java
@@ -121,6 +121,8 @@ public class ClassWriter {
// not strictly reserved words, but collides with
// our imports
JAVA_RESERVED_WORDS.add("Text");
+ //Fix For Issue SQOOP-2839
+ JAVA_RESERVED_WORDS.add("PROTOCOL_VERSION");
}
public static final String PROPERTY_CODEGEN_METHODS_MAXCOLS =
http://git-wip-us.apache.org/repos/asf/sqoop/blob/cfa7927c/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
----------------------------------------------------------------------
diff --git a/src/test/com/cloudera/sqoop/orm/TestClassWriter.java b/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
index 83770a5..498db73 100644
--- a/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
+++ b/src/test/com/cloudera/sqoop/orm/TestClassWriter.java
@@ -373,6 +373,8 @@ public class TestClassWriter extends TestCase {
"9isLegalInSql"));
assertEquals("____", ClassWriter.toJavaIdentifier("___"));
assertEquals("__class", ClassWriter.toJavaIdentifier("_class"));
+ //Checking Java identifier for Constant PROTOCOL_VERSION
+ assertEquals("_PROTOCOL_VERSION", ClassWriter.toJavaIdentifier("PROTOCOL_VERSION"));
}
@Test
@@ -405,6 +407,38 @@ public class TestClassWriter extends TestCase {
+ HsqldbTestServer.getTableName());
}
+ // Test For checking Codegneration perfroming successfully
+ // in case of Table with Column name as PROTOCOL_VERSION
+ @Test
+ public void testColumnNameAsProtocolVersion() throws SQLException {
+ // Recreate the table with column name as PROTOCOL_VERSION.
+ String tableName = HsqldbTestServer.getTableName();
+ Connection connection = testServer.getConnection();
+ Statement st = connection.createStatement();
+ try {
+ st.executeUpdate("DROP TABLE " + tableName + " IF EXISTS");
+ st.executeUpdate("CREATE TABLE " + tableName
+ + " (PROTOCOL_VERSION INT)");
+ st.executeUpdate("INSERT INTO " + tableName + " VALUES(42)");
+ connection.commit();
+ } finally {
+ st.close();
+ connection.close();
+ }
+
+ String [] argv = {
+ "--bindir",
+ JAR_GEN_DIR,
+ "--outdir",
+ CODE_GEN_DIR,
+ "--package-name",
+ OVERRIDE_PACKAGE_NAME,
+ };
+
+ runGenerationTest(argv, OVERRIDE_PACKAGE_NAME + "."
+ + HsqldbTestServer.getTableName());
+ }
+
@Test
public void testCloningTableWithVarbinaryDoesNotThrowNPE() throws SQLException,
IOException, ClassNotFoundException, NoSuchMethodException,