You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by se...@apache.org on 2017/12/13 18:08:36 UTC

[1/3] incubator-trafodion git commit: TRAFODION-2825 add jdbc user case

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master fbd88e49c -> 03ffdb409


TRAFODION-2825 add jdbc user case


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

Branch: refs/heads/master
Commit: 181904e4377d7fd87d3a98129e28ed15fabf1a2c
Parents: 4b86c64
Author: gpj1987 <gp...@gmail.com>
Authored: Thu Nov 30 19:19:57 2017 +0800
Committer: gpj1987 <gp...@gmail.com>
Committed: Thu Nov 30 19:19:57 2017 +0800

----------------------------------------------------------------------
 .../main/samples/BatchSample/BatchSample.java   | 119 ++++++++++++++
 .../src/main/samples/BatchSample/README.md      | 146 +++++++++++++++++
 .../main/samples/TransactionSample/README.md    |  55 +++++++
 .../TransactionSample/TransactionSample.java    | 163 +++++++++++++++++++
 4 files changed, 483 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/181904e4/core/conn/jdbcT4/src/main/samples/BatchSample/BatchSample.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/samples/BatchSample/BatchSample.java b/core/conn/jdbcT4/src/main/samples/BatchSample/BatchSample.java
new file mode 100644
index 0000000..98e05e2
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/samples/BatchSample/BatchSample.java
@@ -0,0 +1,119 @@
+// @@@ START COPYRIGHT @@@
+//
+// 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.
+//
+// @@@ END COPYRIGHT @@@
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import common.sampleUtils;
+
+public class BatchSample {
+	public static void main(String[] args) {
+		Connection conn;
+		Statement stmt;
+		PreparedStatement pStmt;
+		ResultSet rs;
+		String table = "BatchSample";
+
+		try {
+			conn = sampleUtils.getPropertiesConnection();
+			
+			for (int i = 1; i <= 2; i++) {
+				switch (i) {
+				case 1:
+					sampleUtils.initialTable(conn, table);
+					stmt = conn.createStatement();
+					String sql_1;
+					for (int j = 0; j < 10; j++) {
+						sql_1 = "insert into " + table + " values(" + j + ",'BatchS1'," + j + ")";
+						stmt.addBatch(sql_1);
+					}
+					stmt.executeBatch();
+					sql_1 = "select * from " + table;
+					rs = stmt.executeQuery(sql_1);
+					showRs(rs);
+					rs.close();
+					stmt.close();
+					sampleUtils.dropTable(conn, table);
+					break;
+				case 2:
+					sampleUtils.initialTable(conn, table);
+					String sql_2 = "insert into " + table + " values(?,?,?)";
+					pStmt = conn.prepareStatement(sql_2);
+					for (int j = 0; j < 10; j++) {
+						pStmt.setInt(1, j);
+						pStmt.setString(2, "BatchPS" + j);
+						pStmt.setInt(3, j * 10 + j);
+						pStmt.addBatch();
+					}
+					pStmt.executeBatch();
+					sql_2 = "select * from " + table;
+					rs = pStmt.executeQuery(sql_2);
+					showRs(rs);
+					rs.close();
+					pStmt.close();
+					sampleUtils.dropTable(conn, table);
+					break;
+				default:
+					break;
+				}
+
+			}
+			conn.close();
+		} catch (
+
+		SQLException e) {
+			e.printStackTrace();
+		}
+	}
+
+	private static void showRs(ResultSet rs) {
+		try {
+			int rowNo;
+			ResultSetMetaData rsMD = rs.getMetaData();
+			System.out.println("");
+			System.out.println("Printing ResultSetMetaData ...");
+			System.out.println("No. of Columns " + rsMD.getColumnCount());
+			for (int j = 1; j <= rsMD.getColumnCount(); j++) {
+				System.out.println(
+						"Column " + j + " Data Type: " + rsMD.getColumnTypeName(j) + " Name: " + rsMD.getColumnName(j));
+			}
+			System.out.println("");
+			System.out.println("Fetching rows...");
+			rowNo = 0;
+			while (rs.next()) {
+				rowNo++;
+				System.out.println("");
+				System.out.println("Printing Row " + rowNo + " using getString(), getObject()");
+				for (int j = 1; j <= rsMD.getColumnCount(); j++) {
+					System.out.println("Column " + j + " - " + rs.getString(j) + "," + rs.getObject(j));
+				}
+			}
+			System.out.println("");
+			System.out.println("End of Data");
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/181904e4/core/conn/jdbcT4/src/main/samples/BatchSample/README.md
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/samples/BatchSample/README.md b/core/conn/jdbcT4/src/main/samples/BatchSample/README.md
new file mode 100644
index 0000000..49e9184
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/samples/BatchSample/README.md
@@ -0,0 +1,146 @@
+Compiling the Java files
+========================
+On Windows Platform:
+%JAVA_HOME%\bin\javac -classpath ..\..\lib\jdbcT4.jar *.java ..\common\*.java
+
+On Linux:
+$JAVA_HOME/bin/javac -classpath ../../lib/jdbcT4.jar *.java ../common/*.java
+
+Note: Make sure there are no compilation errors displayed on
+      the screen.
+
+
+Executing BatchSample
+=========================
+On Windows Platform:
+%JAVA_HOME%\bin\java -classpath ..\..\lib\jdbcT4.jar;..;. -Dt4jdbc.properties=..\t4jdbc.properties BatchSample
+
+On Linux:
+$JAVA_HOME/bin/java -classpath ../../lib/jdbcT4.jar:..:. -Dt4jdbc.properties=../t4jdbc.properties BatchSample
+
+
+Output of the execution would look like:
+========================================
+
+<DATE, TIME> common.sampleUtils getPropertiesConnection
+INFO: DriverManager.getConnection(url, props) passed
+
+Printing ResultSetMetaData ...
+No. of Columns 3
+Column 1 Data Type: INTEGER Name: C1
+Column 2 Data Type: CHAR Name: C2
+Column 3 Data Type: INTEGER Name: C3
+
+Fetching rows...
+
+Printing Row 1 using getString(), getObject()
+Column 1 - 0,0
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 0,0
+
+Printing Row 2 using getString(), getObject()
+Column 1 - 1,1
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 1,1
+
+Printing Row 3 using getString(), getObject()
+Column 1 - 2,2
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 2,2
+
+Printing Row 4 using getString(), getObject()
+Column 1 - 3,3
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 3,3
+
+Printing Row 5 using getString(), getObject()
+Column 1 - 4,4
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 4,4
+
+Printing Row 6 using getString(), getObject()
+Column 1 - 5,5
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 5,5
+
+Printing Row 7 using getString(), getObject()
+Column 1 - 6,6
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 6,6
+
+Printing Row 8 using getString(), getObject()
+Column 1 - 7,7
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 7,7
+
+Printing Row 9 using getString(), getObject()
+Column 1 - 8,8
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 8,8
+
+Printing Row 10 using getString(), getObject()
+Column 1 - 9,9
+Column 2 - BatchS1             ,BatchS1             
+Column 3 - 9,9
+
+End of Data
+
+Printing ResultSetMetaData ...
+No. of Columns 3
+Column 1 Data Type: INTEGER Name: C1
+Column 2 Data Type: CHAR Name: C2
+Column 3 Data Type: INTEGER Name: C3
+
+Fetching rows...
+
+Printing Row 1 using getString(), getObject()
+Column 1 - 0,0
+Column 2 - BatchPS0            ,BatchPS0            
+Column 3 - 0,0
+
+Printing Row 2 using getString(), getObject()
+Column 1 - 1,1
+Column 2 - BatchPS1            ,BatchPS1            
+Column 3 - 11,11
+
+Printing Row 3 using getString(), getObject()
+Column 1 - 2,2
+Column 2 - BatchPS2            ,BatchPS2            
+Column 3 - 22,22
+
+Printing Row 4 using getString(), getObject()
+Column 1 - 3,3
+Column 2 - BatchPS3            ,BatchPS3            
+Column 3 - 33,33
+
+Printing Row 5 using getString(), getObject()
+Column 1 - 4,4
+Column 2 - BatchPS4            ,BatchPS4            
+Column 3 - 44,44
+
+Printing Row 6 using getString(), getObject()
+Column 1 - 5,5
+Column 2 - BatchPS5            ,BatchPS5            
+Column 3 - 55,55
+
+Printing Row 7 using getString(), getObject()
+Column 1 - 6,6
+Column 2 - BatchPS6            ,BatchPS6            
+Column 3 - 66,66
+
+Printing Row 8 using getString(), getObject()
+Column 1 - 7,7
+Column 2 - BatchPS7            ,BatchPS7            
+Column 3 - 77,77
+
+Printing Row 9 using getString(), getObject()
+Column 1 - 8,8
+Column 2 - BatchPS8            ,BatchPS8            
+Column 3 - 88,88
+
+Printing Row 10 using getString(), getObject()
+Column 1 - 9,9
+Column 2 - BatchPS9            ,BatchPS9            
+Column 3 - 99,99
+
+End of Data
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/181904e4/core/conn/jdbcT4/src/main/samples/TransactionSample/README.md
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/samples/TransactionSample/README.md b/core/conn/jdbcT4/src/main/samples/TransactionSample/README.md
new file mode 100644
index 0000000..e5ee5dd
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/samples/TransactionSample/README.md
@@ -0,0 +1,55 @@
+Compiling the Java files
+========================
+On Windows Platform:
+%JAVA_HOME%\bin\javac -classpath ..\..\lib\jdbcT4.jar *.java ..\common\*.java
+
+On Linux:
+$JAVA_HOME/bin/javac -classpath ../../lib/jdbcT4.jar *.java ../common/*.java
+
+Note: Make sure there are no compilation errors displayed on
+      the screen.
+
+
+Executing TransactionSample
+=========================
+On Windows Platform:
+%JAVA_HOME%\bin\java -classpath ..\..\lib\jdbcT4.jar;..;. -Dt4jdbc.properties=..\t4jdbc.properties TransactionSample
+
+On Linux:
+$JAVA_HOME/bin/java -classpath ../../lib/jdbcT4.jar:..:. -Dt4jdbc.properties=../t4jdbc.properties TransactionSample
+
+
+Output of the execution would look like:
+========================================
+
+<DATE, TIME> common.sampleUtils getPropertiesConnection
+INFO: DriverManager.getConnection(url, props) passed
+
+Printing ResultSetMetaData ...
+No. of Columns 3
+Column 1 Data Type: INTEGER Name: C1
+Column 2 Data Type: CHAR Name: C2
+Column 3 Data Type: INTEGER Name: C3
+
+Fetching rows...
+
+Printing Row 1 using getString(), getObject()
+Column 1 - 1,1
+Column 2 - row1                ,row1                
+Column 3 - 11,11
+
+Printing Row 2 using getString(), getObject()
+Column 1 - 2,2
+Column 2 - row2                ,row2                
+Column 3 - 22,22
+
+End of Data
+Rolling back data here....
+*** ERROR[15001] A syntax error occurred at or before: 
+insert in TransactionSample values(4,'row2',44);
+        ^ (9 characters from start of SQL statement) [2017-11-22 07:47:01]
+SQLState   42000
+Error Code -15001
+*** ERROR[8822] The statement was not prepared. [2017-11-22 07:47:01]
+SQLState   X08MU
+Error Code -8822

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/181904e4/core/conn/jdbcT4/src/main/samples/TransactionSample/TransactionSample.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/samples/TransactionSample/TransactionSample.java b/core/conn/jdbcT4/src/main/samples/TransactionSample/TransactionSample.java
new file mode 100644
index 0000000..97c1776
--- /dev/null
+++ b/core/conn/jdbcT4/src/main/samples/TransactionSample/TransactionSample.java
@@ -0,0 +1,163 @@
+// @@@ START COPYRIGHT @@@
+//
+// 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.
+//
+// @@@ END COPYRIGHT @@@
+import common.*;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+public class TransactionSample {
+	public static void main(String args[]) {
+		Connection connection = null;
+		String table = "TransactionSample";
+
+		try {
+			connection = sampleUtils.getPropertiesConnection();
+
+			autoCommit(connection, table);
+			rollBack(connection, table);
+			sampleUtils.dropTable(connection, table);
+		}
+
+		catch (SQLException e) {
+			SQLException nextException;
+			nextException = e;
+			do {
+				System.out.println(nextException.getMessage());
+				System.out.println("SQLState   " + nextException.getSQLState());
+				System.out.println("Error Code " + nextException.getErrorCode());
+			} while ((nextException = nextException.getNextException()) != null);
+		} finally {
+			if (connection != null) {
+				try {
+					connection.close();
+				} catch (SQLException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+
+	private static void autoCommit(Connection connection, String table) {
+		Statement stmt = null;
+		try {
+			sampleUtils.dropTable(connection, table);
+			sampleUtils.initialTable(connection, table);
+			connection.setAutoCommit(false);
+			stmt = connection.createStatement();
+			stmt.executeUpdate("insert into " + table + " values(1,'row1',11)");
+			stmt.executeUpdate("insert into " + table + " values(2,'row2',22)");
+			connection.commit();
+			// select all information of table after commit
+			selectAllfromTable(connection, table);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				connection.setAutoCommit(true);
+			} catch (SQLException e1) {
+				e1.printStackTrace();
+			}
+			if (stmt != null) {
+				try {
+					stmt.close();
+				} catch (SQLException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+
+	}
+
+	private static void rollBack(Connection connection, String table) {
+		Statement stmt = null;
+		try {
+			sampleUtils.dropTable(connection, table);
+			sampleUtils.initialTable(connection, table);
+			connection.setAutoCommit(false);
+			stmt = connection.createStatement();
+			stmt.executeUpdate("insert into " + table + " values(3,'row1',33)");
+			// it will have exception, then will do rollback
+			stmt.executeUpdate("insert in " + table + " values(4,'row2',44)");
+			connection.commit();
+		} catch (SQLException e) {
+			if (connection != null) {
+				try {
+					System.out.println("Rolling back data here....");
+					connection.rollback();
+				} catch (SQLException e1) {
+					e1.printStackTrace();
+				}
+			}
+			SQLException nextException;
+			nextException = e;
+			do {
+				System.out.println(nextException.getMessage());
+				System.out.println("SQLState   " + nextException.getSQLState());
+				System.out.println("Error Code " + nextException.getErrorCode());
+			} while ((nextException = nextException.getNextException()) != null);
+		} finally {
+			try {
+				connection.setAutoCommit(true);
+			} catch (SQLException e1) {
+				e1.printStackTrace();
+			}
+			if (stmt != null) {
+				try {
+					stmt.close();
+				} catch (SQLException e) {
+				}
+			}
+		}
+
+	}
+
+	private static void selectAllfromTable(Connection connection, String table) throws SQLException {
+		Statement stmt;
+		stmt = connection.createStatement();
+		ResultSet rs = stmt.executeQuery("select * from " + table);
+		int rowNo;
+		ResultSetMetaData rsMD = rs.getMetaData();
+		System.out.println("");
+		System.out.println("Printing ResultSetMetaData ...");
+		System.out.println("No. of Columns " + rsMD.getColumnCount());
+		for (int j = 1; j <= rsMD.getColumnCount(); j++) {
+			System.out.println(
+					"Column " + j + " Data Type: " + rsMD.getColumnTypeName(j) + " Name: " + rsMD.getColumnName(j));
+		}
+		System.out.println("");
+		System.out.println("Fetching rows...");
+		rowNo = 0;
+		while (rs.next()) {
+			rowNo++;
+			System.out.println("");
+			System.out.println("Printing Row " + rowNo + " using getString(), getObject()");
+			for (int j = 1; j <= rsMD.getColumnCount(); j++) {
+				System.out.println("Column " + j + " - " + rs.getString(j) + "," + rs.getObject(j));
+			}
+		}
+		System.out.println("");
+		System.out.println("End of Data");
+		rs.close();
+		stmt.close();
+	}
+}


[3/3] incubator-trafodion git commit: Merge PR-1318 TRAFODION-2825 add jdbc user case

Posted by se...@apache.org.
Merge PR-1318 TRAFODION-2825 add jdbc user case


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

Branch: refs/heads/master
Commit: 03ffdb40933a015d7bf3a9cc36be05b482f2eb62
Parents: fbd88e4 b487398
Author: selvaganesang <se...@apache.org>
Authored: Wed Dec 13 18:06:46 2017 +0000
Committer: selvaganesang <se...@apache.org>
Committed: Wed Dec 13 18:06:46 2017 +0000

----------------------------------------------------------------------
 .../main/samples/BatchSample/BatchSample.java   | 119 ++++++++++++++
 .../src/main/samples/BatchSample/README.md      | 146 +++++++++++++++++
 .../main/samples/TransactionSample/README.md    |  55 +++++++
 .../TransactionSample/TransactionSample.java    | 163 +++++++++++++++++++
 .../src/main/samples/common/sampleUtils.java    |  18 ++
 5 files changed, 501 insertions(+)
----------------------------------------------------------------------



[2/3] incubator-trafodion git commit: add sampleUtils.java change

Posted by se...@apache.org.
add sampleUtils.java change


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

Branch: refs/heads/master
Commit: b487398bd34cfd950d679c609a6d1d86bec8eb51
Parents: 181904e
Author: gpj1987 <gp...@gmail.com>
Authored: Thu Nov 30 19:23:23 2017 +0800
Committer: gpj1987 <gp...@gmail.com>
Committed: Thu Nov 30 19:23:23 2017 +0800

----------------------------------------------------------------------
 .../src/main/samples/common/sampleUtils.java      | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/b487398b/core/conn/jdbcT4/src/main/samples/common/sampleUtils.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/samples/common/sampleUtils.java b/core/conn/jdbcT4/src/main/samples/common/sampleUtils.java
index f234d28..77954fb 100755
--- a/core/conn/jdbcT4/src/main/samples/common/sampleUtils.java
+++ b/core/conn/jdbcT4/src/main/samples/common/sampleUtils.java
@@ -265,4 +265,22 @@ public class sampleUtils
                throw e;
            }
        }
+
+	public static void initialTable(Connection conn, String table) throws SQLException {
+		Statement stmt = null;
+		try {
+			stmt = conn.createStatement();
+			stmt.executeUpdate("create table " + table + " (c1 int, c2 char(20), c3 int)");
+			stmt.close();
+
+		} catch (SQLException e) {
+			Logger.global.log(Level.FINE, "InitialData failed = " + e);
+			Logger.global.log(Level.FINE, "==============\n\n");
+			try {
+				stmt.close();
+			} catch (Exception ex) {
+			}
+			throw e;
+		}
+	}
 }