You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by hu...@apache.org on 2018/03/23 21:32:41 UTC

incubator-gobblin git commit: [GOBBLIN-422] SQLServer source allows disabling append of database name.

Repository: incubator-gobblin
Updated Branches:
  refs/heads/master 9a3aee8e5 -> a838b4d6d


[GOBBLIN-422] SQLServer source allows disabling append of database name.

Closes #2315 from ibuenros/fix-sqlserver-dbname


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/a838b4d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/a838b4d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/a838b4d6

Branch: refs/heads/master
Commit: a838b4d6dfff3b799eea5dc1822a00661325e13f
Parents: 9a3aee8e
Author: ibuenros <is...@gmail.com>
Authored: Fri Mar 23 14:32:30 2018 -0700
Committer: Hung Tran <hu...@linkedin.com>
Committed: Fri Mar 23 14:32:30 2018 -0700

----------------------------------------------------------------------
 .../apache/gobblin/configuration/ConfigurationKeys.java  |  2 ++
 .../apache/gobblin/source/jdbc/SqlServerExtractor.java   | 11 ++++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/a838b4d6/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
----------------------------------------------------------------------
diff --git a/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java b/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
index 70459a2..71d78a9 100644
--- a/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
+++ b/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
@@ -520,6 +520,8 @@ public class ConfigurationKeys {
   public static final String ENABLE_DELIMITED_IDENTIFIER = "enable.delimited.identifier";
   public static final boolean DEFAULT_ENABLE_DELIMITED_IDENTIFIER = false;
 
+  public static final String SQL_SERVER_CONNECTION_PARAMETERS = "source.querybased.sqlserver.connectionParameters";
+
   /**
    * Configuration properties used by the FileBasedExtractor
    */

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/a838b4d6/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/SqlServerExtractor.java
----------------------------------------------------------------------
diff --git a/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/SqlServerExtractor.java b/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/SqlServerExtractor.java
index 4e698b7..b6984e6 100644
--- a/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/SqlServerExtractor.java
+++ b/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/SqlServerExtractor.java
@@ -187,9 +187,18 @@ public class SqlServerExtractor extends JdbcExtractor {
   public String getConnectionUrl() {
     String host = this.workUnitState.getProp(ConfigurationKeys.SOURCE_CONN_HOST_NAME);
     String port = this.workUnitState.getProp(ConfigurationKeys.SOURCE_CONN_PORT);
+    String parameters =
+        this.workUnitState.getProp(ConfigurationKeys.SQL_SERVER_CONNECTION_PARAMETERS);
+
+    // For backwards compatibility, need to allow using SOURCE_QUERYBASED_SCHEMA to specify db name
+    // This is highly discouraged, as this property is overloaded
     String database = this.workUnitState.getProp(ConfigurationKeys.SOURCE_QUERYBASED_SCHEMA);
+    if (parameters == null && !StringUtils.isEmpty(database)) {
+      parameters = "databaseName=" + database;
+    }
+
     String url = "jdbc:sqlserver://" + host.trim() + ":" + port +
-        (StringUtils.isEmpty(database) ? "" : (";databaseName=" + database.trim()));
+        (StringUtils.isEmpty(parameters) ? "" : (";" + parameters.trim()));
     return url;
   }