Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2013-05-15 06:31:28 +0000
committerEike Stepper2013-05-15 06:31:28 +0000
commita18f0f77cf1449305352a13be1674d83e9181097 (patch)
tree1ed0e30d9b9971a304c7b6714c20d81f4d6a1716 /plugins/org.eclipse.net4j.db.derby
parentb52dd58c1a00efac4a0d08352b6a8da6fcba4833 (diff)
downloadcdo-a18f0f77cf1449305352a13be1674d83e9181097.tar.gz
cdo-a18f0f77cf1449305352a13be1674d83e9181097.tar.xz
cdo-a18f0f77cf1449305352a13be1674d83e9181097.zip
[405131] [DB] Launching Servers with HSQLDB or Derby back-ends lead to
issue in CDO 4.2 https://bugs.eclipse.org/bugs/show_bug.cgi?id=405131
Diffstat (limited to 'plugins/org.eclipse.net4j.db.derby')
-rw-r--r--plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java
index 0c9bab2343..3f68f8f76c 100644
--- a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java
+++ b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java
@@ -15,6 +15,8 @@ import org.eclipse.net4j.db.IDBAdapter;
import org.eclipse.net4j.db.ddl.IDBField;
import org.eclipse.net4j.spi.db.DBAdapter;
+import java.sql.SQLException;
+
/**
* A {@link IDBAdapter DB adapter} for <a href="http://db.apache.org/derby">Derby</a> databases.
*
@@ -88,4 +90,21 @@ public abstract class DerbyAdapter extends DBAdapter
return super.isValidFirstChar(ch);
}
}
+
+ @Override
+ public boolean isDuplicateKeyException(SQLException ex)
+ {
+ // The statement was aborted because it would have caused a duplicate key value in a unique or primary key
+ // constraint or unique index identified by '<value>' defined on '<value>'
+ String sqlState = ex.getSQLState();
+ return "23505".equals(sqlState);
+ }
+
+ @Override
+ public boolean isTableNotFoundException(SQLException ex)
+ {
+ // Table/View '<objectName>' does not exist
+ String sqlState = ex.getSQLState();
+ return "42X05".equals(sqlState);
+ }
}

Back to the top