01: /*-------------------------------------------------------------------------
02: *
03: * Copyright (c) 2004-2005, PostgreSQL Global Development Group
04: *
05: * IDENTIFICATION
06: * $PostgreSQL: pgjdbc/org/postgresql/test/jdbc3/ResultSetTest.java,v 1.3 2005/11/24 02:31:44 oliver Exp $
07: *
08: *-------------------------------------------------------------------------
09: */
10: package org.postgresql.test.jdbc3;
11:
12: import java.sql.*;
13: import junit.framework.TestCase;
14: import org.postgresql.test.TestUtil;
15:
16: public class ResultSetTest extends TestCase {
17:
18: private Connection _conn;
19:
20: public ResultSetTest(String name) {
21: super (name);
22: }
23:
24: protected void setUp() throws Exception {
25: _conn = TestUtil.openDB();
26: Statement stmt = _conn.createStatement();
27: stmt.execute("CREATE TEMP TABLE hold(a int)");
28: stmt.execute("INSERT INTO hold VALUES (1)");
29: stmt.execute("INSERT INTO hold VALUES (2)");
30: stmt.close();
31: }
32:
33: protected void tearDown() throws SQLException {
34: Statement stmt = _conn.createStatement();
35: stmt.execute("DROP TABLE hold");
36: stmt.close();
37: TestUtil.closeDB(_conn);
38: }
39:
40: public void testHoldableResultSet() throws SQLException {
41: Statement stmt = _conn.createStatement(
42: ResultSet.TYPE_FORWARD_ONLY,
43: ResultSet.CONCUR_READ_ONLY,
44: ResultSet.HOLD_CURSORS_OVER_COMMIT);
45:
46: _conn.setAutoCommit(false);
47: stmt.setFetchSize(1);
48:
49: ResultSet rs = stmt
50: .executeQuery("SELECT a FROM hold ORDER BY a");
51:
52: assertTrue(rs.next());
53: assertEquals(1, rs.getInt(1));
54:
55: _conn.commit();
56:
57: assertTrue(rs.next());
58: assertEquals(2, rs.getInt(1));
59: assertTrue(!rs.next());
60:
61: rs.close();
62: stmt.close();
63: }
64:
65: }
|