pgpool2.git / summary / log / commit / refs
commit 2ceed6bab0da6c2f8e694b30f6e9bb35f0986684
Author: Yugo Nagata <nagata@sraoss.co.jp>
Commit: Muhammad Usama <m.usama@gmail.com>
Date: Mon Mar 24 06:54:29 2014 +0000
Add a test of PrepareThreshold to JDBC regression test
.../tests/005.jdbc/PrepareThresholdTest.java | 74 ++++++++++++++++++++++
src/test/regression/tests/005.jdbc/RunTest.java | 3 +
src/test/regression/tests/005.jdbc/expected.txt | 2 +
.../tests/005.jdbc/expected/PrepareThreshold | 1 +
src/test/regression/tests/005.jdbc/prepare.sql | 11 +++-
src/test/regression/tests/005.jdbc/test.sh | 2 +-
6 files changed, 91 insertions(+), 2 deletions(-)
diff --git a/src/test/regression/tests/005.jdbc/PrepareThresholdTest.java b/src/test/regression/tests/005.jdbc/PrepareThresholdTest.java
new file mode 100644
index 000000000..d12ce5c93
--- /dev/null
+++ b/src/test/regression/tests/005.jdbc/PrepareThresholdTest.java
@@ -0,0 +1,74 @@
+import java.util.*;
+import java.io.*;
+import java.sql.*;
+
+class SqlItem {
+ public String stmt;
+ public Object[] params;
+ SqlItem(String s, Object[] p) {
+ stmt = s;
+ params = p;
+ }
+};
+
+public class PrepareThresholdTest extends PgpoolTest {
+
+ private SqlItem [] sqllist;
+
+ public void init_sqls() {
+ java.sql.Timestamp ts = new java.sql.Timestamp(new java.util.Date().getTime());
+ sqllist = new SqlItem[] {
+ new SqlItem("INSERT INTO prepare_threshold(i,t) VALUES(?, ?)", new Object[] {1, ts}),
+ new SqlItem("INSERT INTO prepare_threshold(i) VALUES(?)", new Object[] {1}),
+ new SqlItem("INSERT INTO prepare_threshold(d) VALUES(?)", new Object[] {ts})
+ };
+ }
+
+ public void do_test() throws SQLException {
+ init_sqls();
+ try {
+ PreparedStatement pstmt = null;
+ ResultSet rs = null;
+ try {
+ connection.setAutoCommit(false);
+
+ for (SqlItem sql: sqllist) {
+ pstmt = connection.prepareStatement(sql.stmt);
+
+ for (int i = 0; i < 10; i++) {
+ for (int j = 0; j < sql.params.length; j++) {
+ Object param = sql.params[j];
+ if (param.getClass().getName().equals("java.sql.Timestamp")) {
+ pstmt.setTimestamp(j+1, (java.sql.Timestamp) param);
+ } else {
+ pstmt.setObject(j+1, param);
+ }
+ }
+
+ pstmt.executeUpdate();
+ }
+ connection.commit();
+ pstmt.close();
+
+ }
+
+ pstmt = connection.prepareStatement("SELECT count(*) FROM prepare_threshold");
+ rs = pstmt.executeQuery();
+ rs.next();
+ logwriter.println(rs.getInt(1));
+
+ } finally {
+ if (rs != null) rs.close();
+ if (pstmt != null) pstmt.close();
+ }
+
+ } finally {
+ connection.close();
+ logwriter.close();
+ }
+ }
+
+ public String getTestName() {
+ return "PrepareThreshold";
+ }
+}
diff --git a/src/test/regression/tests/005.jdbc/RunTest.java b/src/test/regression/tests/005.jdbc/RunTest.java
index 4b63a7553..1ee4aceee 100644
--- a/src/test/regression/tests/005.jdbc/RunTest.java
+++ b/src/test/regression/tests/005.jdbc/RunTest.java
@@ -77,6 +77,9 @@ public class RunTest {
if (testcase.equals("CreateTempTable"))
return new CreateTempTableTest();
+ if (testcase.equals("PrepareThreshold"))
+ return new PrepareThresholdTest();
+
/* unknown test case */
return null;
}
diff --git a/src/test/regression/tests/005.jdbc/expected.txt b/src/test/regression/tests/005.jdbc/expected.txt
index bfd6daadc..dfd6204d0 100644
--- a/src/test/regression/tests/005.jdbc/expected.txt
+++ b/src/test/regression/tests/005.jdbc/expected.txt
@@ -5,3 +5,5 @@ lock: ok
select: ok
update: ok
insert: ok
+CreateTempTable: ok
+PrepareThreshold: ok
diff --git a/src/test/regression/tests/005.jdbc/expected/PrepareThreshold b/src/test/regression/tests/005.jdbc/expected/PrepareThreshold
new file mode 100644
index 000000000..64bb6b746
--- /dev/null
+++ b/src/test/regression/tests/005.jdbc/expected/PrepareThreshold
@@ -0,0 +1 @@
+30
diff --git a/src/test/regression/tests/005.jdbc/prepare.sql b/src/test/regression/tests/005.jdbc/prepare.sql
index c5a474be7..dbeecd45e 100644
--- a/src/test/regression/tests/005.jdbc/prepare.sql
+++ b/src/test/regression/tests/005.jdbc/prepare.sql
@@ -1,4 +1,5 @@
-- autocommit
+
DROP TABLE autocommit;
CREATE TABLE autocommit (a int);
INSERT INTO autocommit SELECT generate_series(1, 10);
@@ -25,7 +26,7 @@ CREATE TABLE columntest
v12 int4,
v13 int4,
v14 int4,
- v15 int4)
+ v15 int4)
WITHOUT OIDS;
INSERT INTO columntest VALUES (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
@@ -52,3 +53,11 @@ INSERT INTO up VALUES (2);
-- insert
DROP TABLE ins;
CREATE TABLE ins (a int);
+
+-- prepareThreshold
+DROP TABLE IF EXISTS prepare_threshold;
+CREATE TABLE prepare_threshold (
+ i int,
+ d date,
+ t timestamp with time zone DEFAULT now()
+);
diff --git a/src/test/regression/tests/005.jdbc/test.sh b/src/test/regression/tests/005.jdbc/test.sh
index 708fca183..6cf3f1d9f 100755
--- a/src/test/regression/tests/005.jdbc/test.sh
+++ b/src/test/regression/tests/005.jdbc/test.sh
@@ -28,7 +28,7 @@ pgpooltest.user=$USER
pgpooltest.password=
pgpooltest.dbname=test
pgpooltest.options=
-pgpooltest.tests=autocommit batch column lock select update insert
+pgpooltest.tests=autocommit batch column lock select update insert CreateTempTable PrepareThreshold
EOF
cp ../*.java .
cp ../*.sql .
[parent: f50f26095edb]