]> granicus.if.org Git - postgresql/commitdiff
fixed up OID74 test to conform with other tests, by Kris Jurka
authorDave Cramer <davec@fastcrypt.com>
Thu, 18 Dec 2003 04:08:30 +0000 (04:08 +0000)
committerDave Cramer <davec@fastcrypt.com>
Thu, 18 Dec 2003 04:08:30 +0000 (04:08 +0000)
src/interfaces/jdbc/org/postgresql/test/jdbc2/OID74Test.java

index 5a5781ac691225927400069be6a2dc4d7beecb89..eb83cd7a69500899e052123ca644d9bf0ed29aca 100644 (file)
@@ -1,99 +1,80 @@
-package org.postgresql.test.jdbc2;\r
-                                                                                                                                                                                     \r
-import org.postgresql.test.TestUtil;\r
-import junit.framework.TestCase;\r
-import java.io.*;\r
-import java.sql.*;\r
-\r
-import java.io.ByteArrayInputStream;\r
-import java.io.InputStream;\r
-import java.sql.*;\r
-\r
-/**\r
- * User: alexei\r
- * Date: 17-Dec-2003\r
- * Time: 11:01:44\r
- * @version $Id: OID74Test.java,v 1.2 2003/12/17 15:45:05 davec Exp $\r
- */\r
-public class OID74Test  extends TestCase\r
-{\r
-       private Connection con;\r
-    \r
-\r
-       public OID74Test( String name )\r
-       {\r
-               super(name);\r
-       }\r
-       public void setUp() throws Exception\r
-       {\r
-       }\r
-       public void tearDown() throws Exception\r
-       {\r
-       }\r
-       public void testBinaryStream()\r
-       {\r
-               //set up conection here\r
-               Connection c = null;\r
-               \r
-               Statement st = null; \r
-               try \r
-               {\r
-                       c =  DriverManager.getConnection("jdbc:postgresql://localhost/test?compatible=7.1&user=test");\r
-                       c.setAutoCommit(false);\r
-                       st = c.createStatement();\r
-                       st.execute("CREATE temp TABLE temp (col oid)");\r
-               }\r
-                catch (SQLException e) \r
-               {\r
-                       //another issue: when connecting to 7.3 database and this exception occurs because the table already exists,\r
-                       //st.setBinaryStream throws internal error in LargeObjectManager initialisation code\r
-                       fail("table creating error, probably already exists, code=" + e.getErrorCode());\r
-               }\r
-               finally\r
-               {\r
-                       try{ if (st != null) st.close(); }catch(SQLException ex){};\r
-               }\r
-               \r
-               PreparedStatement pstmt = null;\r
-               try \r
-               {\r
-               \r
-                       pstmt = c.prepareStatement("INSERT INTO temp VALUES (?)");\r
-                       //in case of 7.4 server, should block here\r
-                       pstmt.setBinaryStream(1, new ByteArrayInputStream(new byte[]{1, 2, 3, 4, 5}), 5);\r
-                       assertTrue( (pstmt.executeUpdate() == 1) );\r
-                       pstmt.close();\r
-               \r
-                       pstmt = c.prepareStatement("SELECT col FROM temp LIMIT 1");\r
-                       ResultSet rs = pstmt.executeQuery();\r
-\r
-                       assertTrue("No results from query", rs.next() );\r
-\r
-                       //in case of 7.4 server, should block here\r
-                       InputStream in = rs.getBinaryStream(1);\r
-                       int data;\r
-                       while ((data = in.read()) != -1)\r
-                               System.out.println(data);\r
-                       rs.close();\r
-                       st.close();\r
-                       c.createStatement().executeUpdate("DELETE FROM temp");\r
-                       c.commit();\r
-               }\r
-               catch ( IOException ioex )\r
-               {\r
-                       fail( ioex.getMessage() );\r
-               }\r
-               catch (SQLException ex)\r
-               {\r
-                       fail( ex.getMessage() );\r
-               } \r
-               finally \r
-               {\r
-                       try\r
-                       {\r
-                               if ( c!=null) c.close();\r
-                       }\r
-                       catch( SQLException e1){}\r
-               }\r
-       }       \r
-}\r
+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);
+       }       
+}