diff options
author | Dave Cramer <davec@fastcrypt.com> | 2003-12-18 04:08:30 +0000 |
---|---|---|
committer | Dave Cramer <davec@fastcrypt.com> | 2003-12-18 04:08:30 +0000 |
commit | b9deede24139f64cb2dc609ca46ae9cfe0b062a9 (patch) | |
tree | 0058bf615da085cee3bcfc66796fe0d5f4143239 /src | |
parent | e9aec81792441eafe2ee0987236f52ae39e726a5 (diff) | |
download | postgresql-b9deede24139f64cb2dc609ca46ae9cfe0b062a9.tar.gz postgresql-b9deede24139f64cb2dc609ca46ae9cfe0b062a9.zip |
fixed up OID74 test to conform with other tests, by Kris Jurka
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/jdbc/org/postgresql/test/jdbc2/OID74Test.java | 179 |
1 files changed, 80 insertions, 99 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/OID74Test.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/OID74Test.java index 5a5781ac691..eb83cd7a695 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/OID74Test.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/OID74Test.java @@ -1,99 +1,80 @@ -package org.postgresql.test.jdbc2;
-
-import org.postgresql.test.TestUtil;
-import junit.framework.TestCase;
-import java.io.*;
-import java.sql.*;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.sql.*;
-
-/**
- * User: alexei
- * Date: 17-Dec-2003
- * Time: 11:01:44
- * @version $Id: OID74Test.java,v 1.2 2003/12/17 15:45:05 davec Exp $
- */
-public class OID74Test extends TestCase
-{
- private Connection con;
-
-
- public OID74Test( String name )
- {
- super(name);
- }
- public void setUp() throws Exception
- {
- }
- public void tearDown() throws Exception
- {
- }
- public void testBinaryStream()
- {
- //set up conection here
- Connection c = null;
-
- Statement st = null;
- try
- {
- c = DriverManager.getConnection("jdbc:postgresql://localhost/test?compatible=7.1&user=test");
- c.setAutoCommit(false);
- st = c.createStatement();
- st.execute("CREATE temp TABLE temp (col oid)");
- }
- catch (SQLException e)
- {
- //another issue: when connecting to 7.3 database and this exception occurs because the table already exists,
- //st.setBinaryStream throws internal error in LargeObjectManager initialisation code
- fail("table creating error, probably already exists, code=" + e.getErrorCode());
- }
- finally
- {
- try{ if (st != null) st.close(); }catch(SQLException ex){};
- }
-
- PreparedStatement pstmt = null;
- try
- {
-
- pstmt = c.prepareStatement("INSERT INTO temp VALUES (?)");
- //in case of 7.4 server, should block here
- pstmt.setBinaryStream(1, new ByteArrayInputStream(new byte[]{1, 2, 3, 4, 5}), 5);
- assertTrue( (pstmt.executeUpdate() == 1) );
- pstmt.close();
-
- pstmt = c.prepareStatement("SELECT col FROM temp LIMIT 1");
- ResultSet rs = pstmt.executeQuery();
-
- assertTrue("No results from query", rs.next() );
-
- //in case of 7.4 server, should block here
- InputStream in = rs.getBinaryStream(1);
- int data;
- while ((data = in.read()) != -1)
- System.out.println(data);
- rs.close();
- st.close();
- c.createStatement().executeUpdate("DELETE FROM temp");
- c.commit();
- }
- catch ( IOException ioex )
- {
- fail( ioex.getMessage() );
- }
- catch (SQLException ex)
- {
- fail( ex.getMessage() );
- }
- finally
- {
- try
- {
- if ( c!=null) c.close();
- }
- catch( SQLException e1){}
- }
- }
-}
+package org.postgresql.test.jdbc2; + +import org.postgresql.test.TestUtil; +import junit.framework.TestCase; +import java.io.*; +import java.sql.*; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.Properties; +import java.sql.*; + +/** + * User: alexei + * Date: 17-Dec-2003 + * Time: 11:01:44 + * @version $Id: OID74Test.java,v 1.3 2003/12/18 04:08:30 davec Exp $ + */ +public class OID74Test extends TestCase +{ + + public OID74Test( String name ) + { + super(name); + } + public void setUp() throws Exception + { + } + public void tearDown() throws Exception + { + } + public void testBinaryStream() throws SQLException + { + //set up conection here + Properties props = new Properties(); + props.setProperty("compatible","7.1"); + Connection c = TestUtil.openDB(props); + c.setAutoCommit(false); + + TestUtil.createTable(c,"temp","col oid"); + + Statement st = null; + + PreparedStatement pstmt = null; + try + { + + pstmt = c.prepareStatement("INSERT INTO temp VALUES (?)"); + pstmt.setBinaryStream(1, new ByteArrayInputStream(new byte[]{1, 2, 3, 4, 5}), 5); + assertTrue( (pstmt.executeUpdate() == 1) ); + pstmt.close(); + + pstmt = c.prepareStatement("SELECT col FROM temp LIMIT 1"); + ResultSet rs = pstmt.executeQuery(); + + assertTrue("No results from query", rs.next() ); + + InputStream in = rs.getBinaryStream(1); + int data; + int i = 1; + while ((data = in.read()) != -1) + assertEquals(data,i++); + rs.close(); + pstmt.close(); + c.createStatement().executeUpdate("DELETE FROM temp"); + c.commit(); + } + catch ( IOException ioex ) + { + fail( ioex.getMessage() ); + } + catch (SQLException ex) + { + fail( ex.getMessage() ); + } + + TestUtil.dropTable(c,"temp"); + TestUtil.closeDB(c); + } +} |