Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎉 Source and Destination Snowflake: Add jdbc_url_params support for optional JDBC parameters #9623

Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix Java syntax
  • Loading branch information
noahkawasakigoogle committed Jan 20, 2022
commit e0e800bec581aa62d068ff19d51703e778abf217
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ public class SnowflakeDatabase {
private static final SnowflakeSQLNameTransformer nameTransformer = new SnowflakeSQLNameTransformer();

public static Connection getConnection(final JsonNode config) throws SQLException {
final String connectUrl = String.format("jdbc:snowflake://%s/?", config.get("host").asText());

final StringBuilder jdbcUrl = new StringBuilder(String.format("jdbc:snowflake://%s/?",
config.get("host").asText()));

final Properties properties = new Properties();

Expand All @@ -49,10 +51,10 @@ public static Connection getConnection(final JsonNode config) throws SQLExceptio

// https://docs.snowflake.com/en/user-guide/jdbc-configure.html#jdbc-driver-connection-string
if (config.has("jdbc_url_params")) {
connectUrl.append(config.get("jdbc_url_params").asText());
jdbcUrl.append(config.get("jdbc_url_params").asText());
}

return DriverManager.getConnection(connectUrl, properties);
return DriverManager.getConnection(jdbcUrl.toString(), properties);
}

public static JdbcDatabase getDatabase(final JsonNode config) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public static void main(final String[] args) throws Exception {
public JsonNode toDatabaseConfig(final JsonNode config) {

final StringBuilder jdbcUrl = new StringBuilder(String.format("jdbc:snowflake://%s/?",
config.get("host").asText());
config.get("host").asText()));

// Add required properties
jdbcUrl.append(String.format("role=%s&warehouse=%s&database=%s&schema=%s&JDBC_QUERY_RESULT_FORMAT=%s&CLIENT_SESSION_KEEP_ALIVE=%s;",
Expand All @@ -57,7 +57,7 @@ public JsonNode toDatabaseConfig(final JsonNode config) {

final ImmutableMap.Builder<Object, Object> configBuilder = ImmutableMap.builder()
.put("username", config.get("username").asText())
.put("password", config.get("password").asText()
.put("password", config.get("password").asText())
.put("jdbc_url", jdbcUrl.toString());

return Jsons.jsonNode(configBuilder.build());
Expand Down