diff --git a/pom.xml b/pom.xml index 4173c48c..43a84c45 100644 --- a/pom.xml +++ b/pom.xml @@ -112,6 +112,7 @@ limitations under the License. 11.2.0.3 4.0 14.00.00.21 + 6.0 @@ -386,6 +387,11 @@ limitations under the License. terajdbc4 ${jdbc.teradata.version} + + com.ibm.netezza + nzjdbc3 + ${jdbc.netezza.version} + org.mockito mockito-all diff --git a/test/pom.xml b/test/pom.xml index 4947e1c6..b7ea1ed5 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -303,6 +303,28 @@ limitations under the License. + + + jdbc-netezza + + + + jdbc.netezza + + + + + + com.ibm.netezza + nzjdbc3 + + + + diff --git a/test/src/main/java/org/apache/sqoop/test/db/NetezzaProvider.java b/test/src/main/java/org/apache/sqoop/test/db/NetezzaProvider.java new file mode 100644 index 00000000..4e5bb0d3 --- /dev/null +++ b/test/src/main/java/org/apache/sqoop/test/db/NetezzaProvider.java @@ -0,0 +1,83 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sqoop.test.db; + +/** + * Netezza Provider that will connect to remote Netezza server. + * + * JDBC can be configured via system properties. Default value is server running + * on the same box (localhost) that is access via sqoop/sqoop credentials. + */ +public class NetezzaProvider extends DatabaseProvider { + + public static final String DRIVER = "org.netezza.Driver"; + + private static final String CONNECTION = System.getProperties().getProperty( + "sqoop.provider.netezza.jdbc", + "jdbc:netezza://localhost/test" + ); + + private static final String USERNAME = System.getProperties().getProperty( + "sqoop.provider.netezza.username", + "sqoop" + ); + + private static final String PASSWORD = System.getProperties().getProperty( + "sqoop.provider.netezza.password", + "sqoop" + ); + + @Override + public String getConnectionUrl() { + return CONNECTION; + } + + @Override + public String getConnectionUsername() { + return USERNAME; + } + + @Override + public String getConnectionPassword() { + return PASSWORD; + } + + @Override + public String escapeColumnName(String columnName) { + return escapeObjectName(columnName); + } + + @Override + public String escapeTableName(String tableName) { + return escapeObjectName(tableName); + } + + public String escapeObjectName(String name) { + return '"' + name + '"'; + } + + @Override + public String escapeValueString(String value) { + return "'" + value + "'"; + } + + @Override + public String getJdbcDriver() { + return DRIVER; + } +} diff --git a/test/src/main/java/org/apache/sqoop/test/minicluster/TomcatSqoopMiniCluster.java b/test/src/main/java/org/apache/sqoop/test/minicluster/TomcatSqoopMiniCluster.java index 2aa55dce..e2f1675b 100644 --- a/test/src/main/java/org/apache/sqoop/test/minicluster/TomcatSqoopMiniCluster.java +++ b/test/src/main/java/org/apache/sqoop/test/minicluster/TomcatSqoopMiniCluster.java @@ -98,6 +98,7 @@ public void start() throws Exception { jar.contains("oracle") || // Oracle driver jar.contains("terajdbc") || // Teradata driver jar.contains("tdgs") || // Teradata driver + jar.contains("nzjdbc") || // Netezza driver jar.contains("sqljdbc") || // Microsoft SQL Server driver jar.contains("google") // Google libraries (guava, ...) ) {