diff --git a/pom.xml b/pom.xml index 0abbb184..4173c48c 100644 --- a/pom.xml +++ b/pom.xml @@ -111,6 +111,7 @@ limitations under the License. 9.1-901.jdbc4 11.2.0.3 4.0 + 14.00.00.21 @@ -375,6 +376,16 @@ limitations under the License. sqljdbc4 ${jdbc.sqlserver.version} + + com.teradata + tdgssconfig + ${jdbc.teradata.version} + + + com.teradata + terajdbc4 + ${jdbc.teradata.version} + org.mockito mockito-all diff --git a/test/pom.xml b/test/pom.xml index 58f1c498..4947e1c6 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -275,6 +275,34 @@ limitations under the License. + + + jdbc-teradata + + + + jdbc.teradata + + + + + + com.teradata + tdgssconfig + + + + com.teradata + terajdbc4 + + + + diff --git a/test/src/main/java/org/apache/sqoop/test/db/TeradataProvider.java b/test/src/main/java/org/apache/sqoop/test/db/TeradataProvider.java new file mode 100644 index 00000000..a66823e7 --- /dev/null +++ b/test/src/main/java/org/apache/sqoop/test/db/TeradataProvider.java @@ -0,0 +1,79 @@ +/** + * 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; + +/** + * Teradata Provider that will connect to remote Teradata 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 TeradataProvider extends DatabaseProvider { + + public static final String DRIVER = "com.teradata.jdbc.TeraDriver"; + + private static final String CONNECTION = System.getProperties().getProperty( + "sqoop.provider.teradata.jdbc", + "jdbc:teradata://localhost/test" + ); + + private static final String USERNAME = System.getProperties().getProperty( + "sqoop.provider.teradata.username", + "sqoop" + ); + + private static final String PASSWORD = System.getProperties().getProperty( + "sqoop.provider.teradata.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 columnName; + } + + @Override + public String escapeTableName(String tableName) { + return tableName; + } + + @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 c7998a17..2aa55dce 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 @@ -96,6 +96,8 @@ public void start() throws Exception { jar.contains("mysql") || // MySQL JDBC driver jar.contains("postgre") || // PostgreSQL JDBC driver jar.contains("oracle") || // Oracle driver + jar.contains("terajdbc") || // Teradata driver + jar.contains("tdgs") || // Teradata driver jar.contains("sqljdbc") || // Microsoft SQL Server driver jar.contains("google") // Google libraries (guava, ...) ) { diff --git a/test/src/test/java/org/apache/sqoop/integration/connector/ConnectorTestCase.java b/test/src/test/java/org/apache/sqoop/integration/connector/ConnectorTestCase.java index 837a1aae..cdc3bd29 100644 --- a/test/src/test/java/org/apache/sqoop/integration/connector/ConnectorTestCase.java +++ b/test/src/test/java/org/apache/sqoop/integration/connector/ConnectorTestCase.java @@ -107,7 +107,7 @@ protected void fillOutputForm(MJob job, StorageType storage, OutputFormat output */ protected void createAndLoadTableCities() { createTable("id", - "id", "int", + "id", "int not null", "country", "varchar(50)", "city", "varchar(50)" );