diff -u -r /home/vsync/downloads/devel/postgresql-7.0.2/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java ./org/postgresql/jdbc1/ResultSet.java
--- /home/vsync/downloads/devel/postgresql-7.0.2/src/interfaces/jdbc/org/postgresql/jdbc1/ResultSet.java	Mon Apr 17 13:07:48 2000
+++ ./org/postgresql/jdbc1/ResultSet.java	Thu Jul 20 20:07:56 2000
@@ -437,12 +437,25 @@
     if(s==null)
 	return null;
     
-    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzz");
+    // first try with 100ths of a second
+    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSzzz");
     
     try {
-	return new Timestamp(df.parse(s).getTime());
+        java.util.Date d = df.parse(s);
+	long millis = d.getTime();
+	long smallBits = millis % 1000;
+	millis -= smallBits;
+	millis += smallBits * 10;
+        return new Timestamp(millis);
     } catch(ParseException e) {
-	throw new PSQLException("postgresql.res.badtimestamp",new Integer(e.getErrorOffset()),s);
+        // if that broke let's try without
+        df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzz");
+	try {
+	    return new Timestamp(df.parse(s).getTime());
+	} catch (ParseException e2) {
+	    throw new PSQLException("postgresql.res.badtimestamp",
+				    new Integer(e.getErrorOffset()),s);
+	}
     }
   }
   
diff -u -r /home/vsync/downloads/devel/postgresql-7.0.2/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java ./org/postgresql/jdbc2/ResultSet.java
--- /home/vsync/downloads/devel/postgresql-7.0.2/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java	Fri May 12 13:54:22 2000
+++ ./org/postgresql/jdbc2/ResultSet.java	Thu Jul 20 20:09:07 2000
@@ -439,12 +439,25 @@
     if(s==null)
 	return null;
     
-    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzz");
+    // first try with 100ths of a second
+    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSzzz");
     
     try {
-	return new Timestamp(df.parse(s).getTime());
+        java.util.Date d = df.parse(s);
+	long millis = d.getTime();
+	long smallBits = millis % 1000;
+	millis -= smallBits;
+	millis += smallBits * 10;
+        return new Timestamp(millis);
     } catch(ParseException e) {
-	throw new PSQLException("postgresql.res.badtimestamp",new Integer(e.getErrorOffset()),s);
+        // if that broke let's try without
+        df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzz");
+	try {
+	    return new Timestamp(df.parse(s).getTime());
+	} catch (ParseException e2) {
+	    throw new PSQLException("postgresql.res.badtimestamp",
+				    new Integer(e.getErrorOffset()),s);
+	}
     }
   }
