KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > h2 > test > server > TestNestedLoop


1 /*
2  * Copyright 2004-2006 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
3  * Initial Developer: H2 Group
4  */

5 package org.h2.test.server;
6
7 import java.sql.Connection JavaDoc;
8 import java.sql.ResultSet JavaDoc;
9 import java.sql.SQLException JavaDoc;
10 import java.sql.Statement JavaDoc;
11
12 import org.h2.test.TestBase;
13
14 public class TestNestedLoop extends TestBase {
15
16     public void test() throws Exception JavaDoc {
17         deleteDb("nestedLoop");
18         Connection JavaDoc conn = getConnection("nestedLoop");
19         Statement JavaDoc stat = conn.createStatement();
20         stat.execute("create table test(id int identity, name varchar)");
21         int len = getSize(1010, 10000);
22         for(int i=0; i<len; i++) {
23             stat.execute("insert into test(name) values('Hello World')");
24         }
25         ResultSet JavaDoc rs = stat.executeQuery("select id from test");
26         stat.executeQuery("select id from test");
27         try {
28             rs.next();
29             error("Result set should be closed");
30         } catch(SQLException JavaDoc e) {
31             checkNotGeneralException(e);
32         }
33         rs = stat.executeQuery("select id from test");
34         stat.close();
35         try {
36             rs.next();
37             error("Result set should be closed");
38         } catch(SQLException JavaDoc e) {
39             checkNotGeneralException(e);
40         }
41         stat = conn.createStatement();
42         rs = stat.executeQuery("select id from test");
43         Statement JavaDoc stat2 = conn.createStatement();
44         while(rs.next()) {
45             int id = rs.getInt(1);
46             ResultSet JavaDoc rs2 = stat2.executeQuery("select * from test where id=" + id);
47             while(rs2.next()) {
48                 check(rs2.getInt(1), id);
49                 check(rs2.getString(2), "Hello World");
50             }
51             rs2 = stat2.executeQuery("select * from test where id=" + id);
52             while(rs2.next()) {
53                 check(rs2.getInt(1), id);
54                 check(rs2.getString(2), "Hello World");
55             }
56         }
57         conn.close();
58         
59     }
60
61 }
62
Popular Tags