Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ExternalReferenceManager.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ExternalReferenceManager.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ExternalReferenceManager.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ExternalReferenceManager.java
index 5b802476e7..c226fd1026 100644
--- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ExternalReferenceManager.java
+++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ExternalReferenceManager.java
@@ -34,7 +34,6 @@ import org.eclipse.net4j.db.ddl.IDBIndex;
import org.eclipse.net4j.db.ddl.IDBTable;
import org.eclipse.net4j.util.ReflectUtil.ExcludeFromDump;
import org.eclipse.net4j.util.lifecycle.Lifecycle;
-import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
import java.io.IOException;
@@ -164,21 +163,23 @@ public class ExternalReferenceManager extends Lifecycle
table.addIndex(IDBIndex.Type.PRIMARY_KEY, idField);
table.addIndex(IDBIndex.Type.NON_UNIQUE, uriField);
- IDBStoreAccessor reader = store.getReader(null);
- Connection connection = reader.getConnection();
+ IDBStoreAccessor writer = store.getWriter(null);
+ Connection connection = writer.getConnection();
Statement statement = null;
+ ResultSet resultSet = null;
try
{
statement = connection.createStatement();
store.getDBAdapter().createTable(table, statement);
+ connection.commit();
String sql = "SELECT MIN(" + idField + ") FROM " + table;
- ResultSet result = statement.executeQuery(sql);
+ resultSet = statement.executeQuery(sql);
- if (result.next())
+ if (resultSet.next())
{
- lastMappedID.set(result.getLong(1));
+ lastMappedID.set(resultSet.getLong(1));
}
// else: resultSet is empty => table is empty
@@ -190,8 +191,9 @@ public class ExternalReferenceManager extends Lifecycle
}
finally
{
+ DBUtil.close(resultSet);
DBUtil.close(statement);
- LifecycleUtil.deactivate(reader); // Don't let the null-context accessor go to the pool!
+ writer.release();
}
StringBuilder builder = new StringBuilder();

Back to the top