1 5 package org.h2.test.server; 6 7 import java.sql.Connection ; 8 import java.sql.ResultSet ; 9 import java.sql.SQLException ; 10 import java.sql.Statement ; 11 12 import org.h2.test.TestBase; 13 14 public class TestNestedLoop extends TestBase { 15 16 public void test() throws Exception { 17 deleteDb("nestedLoop"); 18 Connection conn = getConnection("nestedLoop"); 19 Statement 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 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 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 e) { 39 checkNotGeneralException(e); 40 } 41 stat = conn.createStatement(); 42 rs = stat.executeQuery("select id from test"); 43 Statement stat2 = conn.createStatement(); 44 while(rs.next()) { 45 int id = rs.getInt(1); 46 ResultSet 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 |