diff --git a/src/java/org/apache/sqoop/manager/ConnManager.java b/src/java/org/apache/sqoop/manager/ConnManager.java index 21eea935..115186f5 100644 --- a/src/java/org/apache/sqoop/manager/ConnManager.java +++ b/src/java/org/apache/sqoop/manager/ConnManager.java @@ -450,6 +450,16 @@ public String escapeTableName(String tableName) { return tableName; } + /** + * 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. */ diff --git a/src/java/org/apache/sqoop/manager/PostgresqlManager.java b/src/java/org/apache/sqoop/manager/PostgresqlManager.java index 7e6284ef..facdc742 100644 --- a/src/java/org/apache/sqoop/manager/PostgresqlManager.java +++ b/src/java/org/apache/sqoop/manager/PostgresqlManager.java @@ -81,6 +81,11 @@ public String escapeTableName(String tableName) { return escapeIdentifier(tableName); } + @Override + public boolean escapeTableNameOnExport() { + return true; + } + protected String escapeIdentifier(String identifier) { if (identifier == null) { return null; diff --git a/src/java/org/apache/sqoop/manager/SQLServerManager.java b/src/java/org/apache/sqoop/manager/SQLServerManager.java index 0c395992..ed9eaf89 100644 --- a/src/java/org/apache/sqoop/manager/SQLServerManager.java +++ b/src/java/org/apache/sqoop/manager/SQLServerManager.java @@ -157,6 +157,11 @@ public String escapeTableName(String tableName) { return escapeObjectName(tableName); } + @Override + public boolean escapeTableNameOnExport() { + return true; + } + /** * Escape database object name (database, table, column, schema). * diff --git a/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java b/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java index 7c521101..00bd9104 100644 --- a/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java +++ b/src/java/org/apache/sqoop/mapreduce/JdbcExportJob.java @@ -129,7 +129,12 @@ protected void configureOutputFormat(Job job, String tableName, 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);