aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Cramer <davec@fastcrypt.com>2003-12-11 03:59:37 +0000
committerDave Cramer <davec@fastcrypt.com>2003-12-11 03:59:37 +0000
commitf954ebf577d06cc42b357adab144fc4aef5d9d4b (patch)
treeb9dfb46566b074a5d197743985e011b9a6ee5660
parent3800626d819647cf4355583d01442b6772299993 (diff)
downloadpostgresql-f954ebf577d06cc42b357adab144fc4aef5d9d4b.tar.gz
postgresql-f954ebf577d06cc42b357adab144fc4aef5d9d4b.zip
patch to make PSQLState serializable, and a test case for it
added a test case for getLastOID
-rw-r--r--src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java41
-rw-r--r--src/interfaces/jdbc/org/postgresql/util/PSQLState.java2
2 files changed, 39 insertions, 4 deletions
diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java
index 97ad814a674..8450a0c171b 100644
--- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java
+++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/MiscTest.java
@@ -3,9 +3,10 @@ package org.postgresql.test.jdbc2;
import org.postgresql.test.TestUtil;
import junit.framework.TestCase;
import java.sql.*;
+import java.io.*;
/*
- * $Id: MiscTest.java,v 1.10 2003/05/29 04:39:48 barry Exp $
+ * $Id: MiscTest.java,v 1.10.4.1 2003/12/11 03:59:37 davec Exp $
*
* Some simple tests based on problems reported by users. Hopefully these will
* help prevent previous problems from re-occuring ;-)
@@ -65,8 +66,18 @@ public class MiscTest extends TestCase
fail( "Should not execute this, as a SQLException s/b thrown" );
con.commit();
}
- catch ( Exception ex )
- {}
+ catch ( SQLException ex )
+ {
+ // Verify that the SQLException is serializable.
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(ex);
+ oos.close();
+ } catch (IOException ioe) {
+ fail(ioe.getMessage());
+ }
+ }
try
{
con.commit();
@@ -75,7 +86,31 @@ public class MiscTest extends TestCase
catch ( Exception ex)
{}
}
+ public void testLastOID()
+ {
+ Connection con = null;
+ try
+ {
+ con = TestUtil.openDB();
+ TestUtil.createTable( con, "testoid","id int");
+ Statement stmt = con.createStatement();
+ con.setAutoCommit(false);
+ stmt.executeUpdate( "insert into testoid values (1)" );
+ con.commit();
+ long insertedOid = ((org.postgresql.PGStatement)stmt).getLastOID();
+ con.setAutoCommit(true);
+ TestUtil.dropTable( con, "testoid");
+ }
+ catch ( Exception ex )
+ {
+ fail( ex.getMessage() );
+ }
+ finally
+ {
+ try{if (con !=null )con.close();}catch(Exception ex){}
+ }
+ }
public void xtestLocking()
{
diff --git a/src/interfaces/jdbc/org/postgresql/util/PSQLState.java b/src/interfaces/jdbc/org/postgresql/util/PSQLState.java
index 152170e0c97..b1d1efa63e3 100644
--- a/src/interfaces/jdbc/org/postgresql/util/PSQLState.java
+++ b/src/interfaces/jdbc/org/postgresql/util/PSQLState.java
@@ -10,7 +10,7 @@
package org.postgresql.util;
- public class PSQLState
+ public class PSQLState implements java.io.Serializable
{
private String state;