stmt->close calls table->closeScan not close as earlier.
[csql.git] / test / performance / JDBCTest.java
blobbd7a942fd8a5c0668f155c0ca24466f18450c72b
1 import java.sql.*;
2 public class JDBCTest
4 public static void main(String[] args)
6 try
8 Class.forName("csql.jdbc.JdbcSqlDriver");
9 Connection con = DriverManager.getConnection("jdbc:csql", "root", "manager");
10 Statement cStmt = con.createStatement();
11 cStmt.execute("CREATE TABLE T1 (f1 integer, f2 char (194), primary key(f1));");
12 System.out.println("Table t1 created");
13 cStmt.close();
14 con.commit();
16 PreparedStatement stmt = null, selStmt= null;
17 stmt = con.prepareStatement("INSERT INTO T1 (f1, f2) VALUES (?, ?);");
18 int count =0;
19 int ret =0;
20 stmt.setString(2, "DummyValue");
21 long start =0, end =0, curr =0;
22 long min =100000, max =0, tot =0;
23 for (int i =0 ; i<= 100 ; i++) {
24 start = System.nanoTime();
25 stmt.setInt(1, i);
26 stmt.setString(2, "DummyValue");
27 ret = stmt.executeUpdate();
28 if (ret != 1) break; //error
29 end = System.nanoTime();
30 if (i ==0) continue;
31 curr = end-start;
32 tot = tot + curr;
33 if (min > curr) min = curr;
34 if (max < curr) max = curr;
35 count++;
38 stmt.close();
39 con.commit();
40 System.out.print("Insert : " + count );
41 System.out.println(" Min:" + min+ " Max: "+max+" Avg: "+ tot/100 );
43 count=0;
44 start=0; end=0; curr=0;
45 min=100000; max=0;tot =0;
46 selStmt = con.prepareStatement("SELECT * from T1 where f1 = ?;");
47 ResultSet rs = null;
48 int intVal =0;
49 String strVal = null;
50 for (int i =0 ; i<= 100 ; i++) {
51 start = System.nanoTime();
52 selStmt.setInt(1, i);
53 rs = selStmt.executeQuery();
54 if (rs.next())
56 //intVal = rs.getInt(1);
57 strVal = rs.getString(2);
59 rs.close();
60 end = System.nanoTime();
61 if (i ==0) continue;
62 //System.out.println("Tuple "+ intVal+ " "+ strVal);
63 curr = end-start;
64 tot = tot + curr;
65 if (min > curr) min = curr;
66 if (max < curr) max = curr;
67 count++;
69 selStmt.close();
70 con.commit();
71 System.out.print("Select : " + count);
72 System.out.println(" Min:" + min+ " Max: "+max+" Avg: "+ tot/100 );
74 count =0;
75 start=0; end=0; curr=0;
76 min=100000; max=0;tot =0;
77 stmt = con.prepareStatement("UPDATE T1 SET f2 = ? WHERE f1 = ?;");
78 for (int i =0 ; i<= 100 ; i++) {
79 start = System.nanoTime();
80 stmt.setInt(2, i);
81 stmt.setString(1, "UpdatedValue");
82 ret = stmt.executeUpdate();
83 if (ret != 1) break; //error
84 end = System.nanoTime();
85 if (i ==0) continue;
86 curr = end-start;
87 tot = tot + curr;
88 if (min > curr) min = curr;
89 if (max < curr) max = curr;
90 count++;
92 stmt.close();
93 con.commit();
94 System.out.print("Update : " + count);
95 System.out.println(" Min:" + min+ " Max: "+max+" Avg: "+ tot/100 );
97 count =0;
98 start=0; end=0; curr=0;
99 min=100000; max=0;tot =0;
100 stmt = con.prepareStatement("DELETE FROM T1 WHERE f1 = ?;");
101 for (int i =0 ; i<= 100 ; i++) {
102 start = System.nanoTime();
103 stmt.setInt(1, i);
104 ret = stmt.executeUpdate();
105 if (ret != 1) break; //error
106 end = System.nanoTime();
107 if (i ==0) continue;
108 curr = end-start;
109 tot = tot + curr;
110 if (min > curr) min = curr;
111 if (max < curr) max = curr;
112 count++;
114 stmt.close();
115 con.commit();
116 System.out.print("Delete : " + count);
117 System.out.println(" Min:" + min+ " Max: "+max+" Avg: "+ tot/100 );
119 cStmt.execute("DROP TABLE T1;");
120 System.out.println("Dropped table T1");
121 cStmt.close();
123 con.close();
125 catch(Exception e) {
126 System.out.println("Exception in Test: "+e);
127 e.printStackTrace();