diff options
author | Eike Stepper | 2013-05-15 06:31:28 +0000 |
---|---|---|
committer | Eike Stepper | 2013-05-15 06:31:28 +0000 |
commit | a18f0f77cf1449305352a13be1674d83e9181097 (patch) | |
tree | 1ed0e30d9b9971a304c7b6714c20d81f4d6a1716 /plugins/org.eclipse.net4j.db.derby | |
parent | b52dd58c1a00efac4a0d08352b6a8da6fcba4833 (diff) | |
download | cdo-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.java | 19 |
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); + } } |