You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ch...@apache.org on 2013/01/08 19:08:20 UTC
git commit: SQOOP-820: Escape table name in export job only if it's
required by connector
Updated Branches:
refs/heads/trunk 7573450e1 -> b02ddc397
SQOOP-820: Escape table name in export job only if it's required by connector
(Jarek Jarcec Cecho via Cheolsoo Park)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/b02ddc39
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/b02ddc39
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/b02ddc39
Branch: refs/heads/trunk
Commit: b02ddc39757771fb387c2688ccd0cee74cf6032c
Parents: 7573450
Author: Cheolsoo Park <ch...@apache.org>
Authored: Tue Jan 8 10:06:56 2013 -0800
Committer: Cheolsoo Park <ch...@apache.org>
Committed: Tue Jan 8 10:06:56 2013 -0800
----------------------------------------------------------------------
src/java/org/apache/sqoop/manager/ConnManager.java | 10 ++++++++++
.../apache/sqoop/manager/PostgresqlManager.java | 5 +++++
.../org/apache/sqoop/manager/SQLServerManager.java | 5 +++++
.../org/apache/sqoop/mapreduce/JdbcExportJob.java | 7 ++++++-
4 files changed, 26 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/b02ddc39/src/java/org/apache/sqoop/manager/ConnManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/sqoop/manager/ConnManager.java b/src/java/org/apache/sqoop/manager/ConnManager.java
index 21eea93..115186f 100644
--- a/src/java/org/apache/sqoop/manager/ConnManager.java
+++ b/src/java/org/apache/sqoop/manager/ConnManager.java
@@ -451,6 +451,16 @@ public abstract class ConnManager {
}
/**
+ * Return true if Sqoop common code should automatically escape table name
+ * when saving it to mapreduce configuration object when during export.
+ *
+ * @return True if table name should be escaped
+ */
+ public boolean escapeTableNameOnExport() {
+ return false;
+ }
+
+ /**
* Perform any shutdown operations on the connection.
*/
public abstract void close() throws SQLException;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/b02ddc39/src/java/org/apache/sqoop/manager/PostgresqlManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/sqoop/manager/PostgresqlManager.java b/src/java/org/apache/sqoop/manager/PostgresqlManager.java
index 7e6284e..facdc74 100644
--- a/src/java/org/apache/sqoop/manager/PostgresqlManager.java
+++ b/src/java/org/apache/sqoop/manager/PostgresqlManager.java
@@ -81,6 +81,11 @@ public class PostgresqlManager
return escapeIdentifier(tableName);
}
+ @Override
+ public boolean escapeTableNameOnExport() {
+ return true;
+ }
+
protected String escapeIdentifier(String identifier) {
if (identifier == null) {
return null;
http://git-wip-us.apache.org/repos/asf/sqoop/blob/b02ddc39/src/java/org/apache/sqoop/manager/SQLServerManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/sqoop/manager/SQLServerManager.java b/src/java/org/apache/sqoop/manager/SQLServerManager.java
index 0c39599..ed9eaf8 100644
--- a/src/java/org/apache/sqoop/manager/SQLServerManager.java
+++ b/src/java/org/apache/sqoop/manager/SQLServerManager.java
@@ -157,6 +157,11 @@ public class SQLServerManager
return escapeObjectName(tableName);
}
+ @Override
+ public boolean escapeTableNameOnExport() {
+ return true;
+ }
+
/**
* Escape database object name (database, table, column, schema).
*
http://git-wip-us.apache.org/repos/asf/sqoop/blob/b02ddc39/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java b/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java
index 7c52110..00bd910 100644
--- a/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java
+++ b/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java
@@ -129,7 +129,12 @@ public class JdbcExportJob extends ExportJobBase {
if (null == colNames) {
colNames = mgr.getColumnNames(tableName);
}
- DBOutputFormat.setOutput(job, mgr.escapeTableName(tableName), colNames);
+
+ if (mgr.escapeTableNameOnExport()) {
+ DBOutputFormat.setOutput(job, mgr.escapeTableName(tableName), colNames);
+ } else {
+ DBOutputFormat.setOutput(job, tableName, colNames);
+ }
job.setOutputFormatClass(getOutputFormatClass());
job.getConfiguration().set(SQOOP_EXPORT_TABLE_CLASS_KEY, tableClassName);