You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by hs...@apache.org on 2015/09/24 23:56:39 UTC
sqoop git commit: SQOOP-2445. Sqoop2: Generic JDBC: Prevent use of
tableColumns and sql at the same time
Repository: sqoop
Updated Branches:
refs/heads/sqoop2 6be57ae7e -> a70975c66
SQOOP-2445. Sqoop2: Generic JDBC: Prevent use of tableColumns and sql at the same time
(Jarcec via Hari)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/a70975c6
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/a70975c6
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/a70975c6
Branch: refs/heads/sqoop2
Commit: a70975c6694a3fd09c70ac267f345fe6bd33aa99
Parents: 6be57ae
Author: Hari Shreedharan <hs...@apache.org>
Authored: Thu Sep 24 14:55:42 2015 -0700
Committer: Hari Shreedharan <hs...@apache.org>
Committed: Thu Sep 24 14:55:42 2015 -0700
----------------------------------------------------------------------
.../jdbc/GenericJdbcFromInitializer.java | 21 ++------
.../jdbc/configuration/FromJobConfig.java | 5 +-
.../connector/jdbc/TestFromInitializer.java | 57 --------------------
3 files changed, 7 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/a70975c6/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java
----------------------------------------------------------------------
diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java
index cddbb04..5a357bd 100644
--- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java
+++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/GenericJdbcFromInitializer.java
@@ -285,25 +285,10 @@ public class GenericJdbcFromInitializer extends Initializer<LinkConfiguration, F
}
} else {
assert tableSql.contains(GenericJdbcConnectorConstants.SQL_CONDITIONS_TOKEN);
+ dataSql = tableSql;
- if (tableColumns == null) {
- dataSql = tableSql;
-
- String[] queryColumns = executor.getQueryColumns(dataSql.replace(GenericJdbcConnectorConstants.SQL_CONDITIONS_TOKEN, "1 = 0"));
- fieldNames = executor.columnList(queryColumns);
- } else {
- StringBuilder builder = new StringBuilder();
- builder.append("SELECT ");
- builder.append(tableColumns);
- builder.append(" FROM ");
- builder.append("(");
- builder.append(tableSql);
- builder.append(") ");
- builder.append(GenericJdbcConnectorConstants.SUBQUERY_ALIAS);
- dataSql = builder.toString();
-
- fieldNames = tableColumns;
- }
+ String[] queryColumns = executor.getQueryColumns(dataSql.replace(GenericJdbcConnectorConstants.SQL_CONDITIONS_TOKEN, "1 = 0"));
+ fieldNames = executor.columnList(queryColumns);
}
LOG.info("Using dataSql: " + dataSql);
http://git-wip-us.apache.org/repos/asf/sqoop/blob/a70975c6/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/configuration/FromJobConfig.java
----------------------------------------------------------------------
diff --git a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/configuration/FromJobConfig.java b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/configuration/FromJobConfig.java
index ec1c3b7..adbd457 100644
--- a/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/configuration/FromJobConfig.java
+++ b/connector/connector-generic-jdbc/src/main/java/org/apache/sqoop/connector/jdbc/configuration/FromJobConfig.java
@@ -64,7 +64,10 @@ public class FromJobConfig {
addMessage(Status.ERROR, "Both schema name and SQL cannot be specified");
}
if (config.sql != null && config.partitionColumn == null) {
- addMessage(Status.ERROR, "Partition column is required on query based import.");
+ addMessage(Status.ERROR, "Partition column is required on query based import");
+ }
+ if(config.sql != null && config.columns != null) {
+ addMessage(Status.ERROR, "Can't use sql import and specify columns at the same time");
}
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/a70975c6/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java
----------------------------------------------------------------------
diff --git a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java
index 31fafb1..ab31932 100644
--- a/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java
+++ b/connector/connector-generic-jdbc/src/test/java/org/apache/sqoop/connector/jdbc/TestFromInitializer.java
@@ -314,34 +314,6 @@ public class TestFromInitializer {
@Test
@SuppressWarnings("unchecked")
- public void testTableSqlWithTableColumns() throws Exception {
- LinkConfiguration linkConfig = new LinkConfiguration();
- FromJobConfiguration jobConfig = new FromJobConfiguration();
-
- linkConfig.linkConfig.jdbcDriver = GenericJdbcTestConstants.DRIVER;
- linkConfig.linkConfig.connectionString = GenericJdbcTestConstants.URL;
- jobConfig.fromJobConfig.sql = schemalessTableSql;
- jobConfig.fromJobConfig.columns = tableColumns;
- jobConfig.fromJobConfig.partitionColumn = "DCOL";
-
- MutableContext context = new MutableMapContext();
- InitializerContext initializerContext = new InitializerContext(context);
-
- @SuppressWarnings("rawtypes")
- Initializer initializer = new GenericJdbcFromInitializer();
- initializer.initialize(initializerContext, linkConfig, jobConfig);
-
- verifyResult(context,
- "SELECT ICOL,VCOL FROM (" + schemalessTableSql + ") SQOOP_SUBQUERY_ALIAS",
- tableColumns,
- "\"DCOL\"",
- String.valueOf(Types.DOUBLE),
- String.valueOf((double)START),
- String.valueOf((double)(START+NUMBER_OF_ROWS-1)));
- }
-
- @Test
- @SuppressWarnings("unchecked")
public void testTableNameWithSchema() throws Exception {
LinkConfiguration linkConfig = new LinkConfiguration();
FromJobConfiguration jobConfig = new FromJobConfiguration();
@@ -473,35 +445,6 @@ public class TestFromInitializer {
assertEquals(getSchema("Query"), schema);
}
- @Test
- @SuppressWarnings("unchecked")
- public void testTableSqlWithTableColumnsWithSchema() throws Exception {
- LinkConfiguration linkConfig = new LinkConfiguration();
- FromJobConfiguration jobConfig = new FromJobConfiguration();
-
- linkConfig.linkConfig.jdbcDriver = GenericJdbcTestConstants.DRIVER;
- linkConfig.linkConfig.connectionString = GenericJdbcTestConstants.URL;
- jobConfig.fromJobConfig.schemaName = schemaName;
- jobConfig.fromJobConfig.sql = tableSql;
- jobConfig.fromJobConfig.columns = tableColumns;
- jobConfig.fromJobConfig.partitionColumn = "DCOL";
-
- MutableContext context = new MutableMapContext();
- InitializerContext initializerContext = new InitializerContext(context);
-
- @SuppressWarnings("rawtypes")
- Initializer initializer = new GenericJdbcFromInitializer();
- initializer.initialize(initializerContext, linkConfig, jobConfig);
-
- verifyResult(context,
- "SELECT ICOL,VCOL FROM (" + tableSql + ") SQOOP_SUBQUERY_ALIAS",
- tableColumns,
- "\"DCOL\"",
- String.valueOf(Types.DOUBLE),
- String.valueOf((double)START),
- String.valueOf((double)(START+NUMBER_OF_ROWS-1)));
- }
-
/**
* Asserts expected content inside the generated context.
*