diff options
author | Eike Stepper | 2012-11-06 07:51:42 +0000 |
---|---|---|
committer | Eike Stepper | 2012-11-06 07:51:42 +0000 |
commit | aa797f40e69af58abc6740706486290514e19de0 (patch) | |
tree | cebea7daf61be578624b3ae6709c1d5b6dc8257c /plugins/org.eclipse.net4j.db | |
parent | 16b7f6ba4c45b827bfffc9c86f70ea71dce61d8e (diff) | |
download | cdo-aa797f40e69af58abc6740706486290514e19de0.tar.gz cdo-aa797f40e69af58abc6740706486290514e19de0.tar.xz cdo-aa797f40e69af58abc6740706486290514e19de0.zip |
[364809] DBStore with Postgres fail to recover from crash
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364809
Diffstat (limited to 'plugins/org.eclipse.net4j.db')
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java | 10 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java | 17 |
2 files changed, 26 insertions, 1 deletions
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java index 5d73ba2e2a..3aaa5a6fcc 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java @@ -103,5 +103,15 @@ public interface IDBAdapter /** * @since 4.2 */ + public boolean isTableNotFoundException(SQLException ex); + + /** + * @since 4.2 + */ + public boolean isColumnNotFoundException(SQLException ex); + + /** + * @since 4.2 + */ public String sqlRenameField(IDBField field, String oldName); } diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java index e1405f1bca..9892e0fbd6 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java @@ -557,13 +557,28 @@ public abstract class DBAdapter implements IDBAdapter */ public boolean isDuplicateKeyException(SQLException ex) { - /* SQL code for duplicate keys is 23001 */ return "23001".equals(ex.getSQLState()); } /** * @since 4.2 */ + public boolean isTableNotFoundException(SQLException ex) + { + return "42S02".equals(ex.getSQLState()); + } + + /** + * @since 4.2 + */ + public boolean isColumnNotFoundException(SQLException ex) + { + return "42S22".equals(ex.getSQLState()); + } + + /** + * @since 4.2 + */ public String sqlRenameField(IDBField field, String oldName) { return "ALTER TABLE " + field.getTable() + " RENAME COLUMN " + oldName + " TO " + field; |