diff options
author | Eike Stepper | 2012-10-31 10:03:59 +0000 |
---|---|---|
committer | Eike Stepper | 2012-10-31 10:03:59 +0000 |
commit | 4037005461a8af61010d6fa024d1816d782e74b7 (patch) | |
tree | 73d8e72832b8c7288c5ffbcd839d97dfc8922558 | |
parent | a84ba469f92d737a387762a65b95764c1fabfec2 (diff) | |
download | cdo-4037005461a8af61010d6fa024d1816d782e74b7.tar.gz cdo-4037005461a8af61010d6fa024d1816d782e74b7.tar.xz cdo-4037005461a8af61010d6fa024d1816d782e74b7.zip |
[364809] DBStore with Postgres fail to recover from crash
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364809
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java | 10 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java index 2748db6e3d..3926ed3fb7 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java @@ -259,9 +259,19 @@ public class DBStore extends Store implements IDBStore, CDOAllRevisionsProvider try { visitor.visitTable(connection, name); + connection.commit(); } catch (SQLException ex) { + try + { + connection.rollback(); + } + catch (SQLException ex1) + { + throw new DBException(ex1); + } + if (!COLUMN_NOT_FOUND.equalsIgnoreCase(ex.getSQLState())) { throw new DBException(ex); 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 c39832a36f..0949d7d455 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 @@ -459,7 +459,7 @@ public abstract class DBAdapter implements IDBAdapter { if (maxRows != 1) { - statement.setMaxRows(1); + statement.setMaxRows(maxRows); } } } |