You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ab...@apache.org on 2015/02/06 00:24:46 UTC

sqoop git commit: SQOOP-2081: Sqoop2: Provide ability to dump content of testing table to log

Repository: sqoop
Updated Branches:
  refs/heads/sqoop2 3858e364a -> 922e1e672


SQOOP-2081: Sqoop2: Provide ability to dump content of testing table to log

(Jarek Jarcec Cecho via Abraham Elmahrek)


Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/922e1e67
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/922e1e67
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/922e1e67

Branch: refs/heads/sqoop2
Commit: 922e1e6725cd369d6eb6dcce34fc502684a50b0a
Parents: 3858e36
Author: Abraham Elmahrek <ab...@apache.org>
Authored: Thu Feb 5 15:24:23 2015 -0800
Committer: Abraham Elmahrek <ab...@apache.org>
Committed: Thu Feb 5 15:24:23 2015 -0800

----------------------------------------------------------------------
 .../sqoop/common/test/db/DatabaseProvider.java  | 46 ++++++++++++++++++++
 .../sqoop/test/testcases/ConnectorTestCase.java |  4 ++
 2 files changed, 50 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/922e1e67/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java
----------------------------------------------------------------------
diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java
index be04caa..410aa3c 100644
--- a/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java
+++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java
@@ -24,6 +24,7 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.LinkedList;
@@ -129,6 +130,14 @@ abstract public class DatabaseProvider {
     return false;
   }
 
+  /**
+   * JDBC Driver class name.
+   *
+   * Fully qualified name of the driver class, so that Class.forName() or
+   * similar facility can be used.
+   *
+   * @return
+   */
   public String getJdbcDriver() {
     return null;
   }
@@ -508,4 +517,41 @@ abstract public class DatabaseProvider {
       throw new RuntimeException("Class not found: " + className, e);
     }
   }
+
+  /**
+   * Dump content of given table to log.
+   *
+   * @param tableName Name of the table
+   */
+  public void dumpTable(String tableName) {
+    String query = "SELECT * FROM " + escapeTableName(tableName);
+    List<String> list = new LinkedList<String>();
+    ResultSet rs = null;
+
+    try {
+      rs = executeQuery(query);
+
+      // Header with column names
+      ResultSetMetaData md = rs.getMetaData();
+      for(int i = 0; i < md.getColumnCount(); i++) {
+        list.add(md.getColumnName(i+1));
+      }
+      LOG.info("Dumping table " + tableName);
+      LOG.info("|" + StringUtils.join(list, "|") + "|");
+
+      // Table rows
+      while(rs.next()) {
+        list.clear();
+        for(int i = 0; i < md.getColumnCount(); i++) {
+          list.add(rs.getObject(i+1).toString());
+        }
+        LOG.info("|" + StringUtils.join(list, "|") + "|");
+      }
+
+    } catch (SQLException e) {
+      LOG.info("Ignoring exception: ", e);
+    } finally {
+      closeResultSetWithStatement(rs);
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/sqoop/blob/922e1e67/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java b/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
index 2d28a9a..398a051 100644
--- a/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
+++ b/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
@@ -121,6 +121,10 @@ abstract public class ConnectorTestCase extends TomcatTestCase {
     provider.insertRow(getTableName(), values);
   }
 
+  protected void dumpTable() {
+    provider.dumpTable(getTableName());
+  }
+
   /**
    * Fill link config based on currently active provider.
    *