You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2011/07/22 21:20:58 UTC

svn commit: r1149697 - in /openjpa/trunk/openjpa-jdbc/src/main: java/org/apache/openjpa/jdbc/sql/H2Dictionary.java resources/org/apache/openjpa/jdbc/sql/sql-error-state-codes.xml

Author: mikedd
Date: Fri Jul 22 19:20:57 2011
New Revision: 1149697

URL: http://svn.apache.org/viewvc?rev=1149697&view=rev
Log:
OPENJPA-2034: Update error codes for H2 database.
Submitted By: Prashant Bhat

Modified:
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java
    openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/sql/sql-error-state-codes.xml

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java?rev=1149697&r1=1149696&r2=1149697&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/H2Dictionary.java Fri Jul 22 19:20:57 2011
@@ -33,6 +33,7 @@ import org.apache.openjpa.jdbc.schema.Pr
 import org.apache.openjpa.jdbc.schema.Table;
 import org.apache.openjpa.jdbc.schema.Unique;
 import org.apache.openjpa.meta.JavaTypes;
+import org.apache.openjpa.util.StoreException;
 
 /**
  * Dictionary for H2 ({@link http://www.h2database.com}).
@@ -65,6 +66,9 @@ public class H2Dictionary extends DBDict
         supportsNullTableForGetPrimaryKeys = true;
         supportsNullTableForGetIndexInfo = true;
 
+        supportsLockingWithOuterJoin = false;
+        supportsLockingWithInnerJoin = false;
+
         reservedWordSet.addAll(Arrays.asList(new String[] {
             "CURRENT_TIMESTAMP", "CURRENT_TIME", "CURRENT_DATE", "CROSS",
             "DISTINCT", "EXCEPT", "EXISTS", "FROM", "FOR", "FALSE", "FULL",
@@ -239,4 +243,14 @@ public class H2Dictionary extends DBDict
         }
         buf.append(")");
     }
+
+    @Override
+    public boolean isFatalException(int subtype, SQLException ex) {
+        int errorCode = ex.getErrorCode();
+        if ((subtype == StoreException.QUERY || subtype == StoreException.LOCK) 
+            && (57014 == errorCode || 50200 == errorCode)) {
+            return false;
+        }
+        return super.isFatalException(subtype, ex);
+    }
 }

Modified: openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/sql/sql-error-state-codes.xml
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/sql/sql-error-state-codes.xml?rev=1149697&r1=1149696&r2=1149697&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/sql/sql-error-state-codes.xml (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/resources/org/apache/openjpa/jdbc/sql/sql-error-state-codes.xml Fri Jul 22 19:20:57 2011
@@ -101,12 +101,12 @@
 	</dictionary>
 	
 	<dictionary class="org.apache.openjpa.jdbc.sql.H2Dictionary">
-		<lock>HYT00</lock>
-		<referential-integrity>22003,22012,22025,23000,23002,23003</referential-integrity>
-		<object-exists>23001</object-exists>
+		<lock>HYT00,57014</lock>
+		<referential-integrity>22001,22003,22012,22018,22025,23502,23503,23506,23507,23513,23000,23002,23003</referential-integrity>
+		<object-exists>23001,23505</object-exists>
 		<object-not-found>02000</object-not-found>
 		<optimistic></optimistic>
-		<query>90031</query>
+		<query>90031,57014</query>
 	</dictionary>
 	
 	<dictionary class="org.apache.openjpa.jdbc.sql.HSQLDictionary">