Author: mprudhom
Date: Fri Oct  6 11:03:50 2006
New Revision: 453715

URL: http://svn.apache.org/viewvc?view=rev&rev=453715
Log:
Added supportsTimestampNanos to allow people to work around an 
ArrayIndexOutOfBoundsException that occurs when using multiple timestamp 
columns with version 9.2+ of the Oracle JDBC driver and version less than 9.2 
of the Oracle server.

Modified:
    
incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java

Modified: 
incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
URL: 
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java?view=diff&rev=453715&r1=453714&r2=453715
==============================================================================
--- 
incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
 (original)
+++ 
incubator/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
 Fri Oct  6 11:03:50 2006
@@ -153,6 +153,7 @@
     public int maxIndexNameLength = 128;
     public int maxIndexesPerTable = Integer.MAX_VALUE;
     public boolean supportsForeignKeys = true;
+    public boolean supportsTimestampNanos = true;
     public boolean supportsUniqueConstraints = true;
     public boolean supportsDeferredConstraints = true;
     public boolean supportsRestrictDeleteAction = true;
@@ -1040,7 +1041,11 @@
             val.setTime(val.getTime() + 1000);
             nanos = 0;
         }
-        val.setNanos(nanos);
+
+        if (supportsTimestampNanos)
+            val.setNanos(nanos);
+        else
+            val.setNanos(0);
 
         if (cal == null)
             stmnt.setTimestamp(idx, val);


Reply via email to