diff options
author | Eike Stepper | 2012-11-16 09:08:39 +0000 |
---|---|---|
committer | Eike Stepper | 2012-11-16 09:08:39 +0000 |
commit | 84b363ec6029e3a657bd961197d538338da56d27 (patch) | |
tree | aec9075ad7093f819dee75aeb946e64d6ebc2895 | |
parent | c734ed318fff4aa6530e84530bb528010eae562f (diff) | |
download | cdo-84b363ec6029e3a657bd961197d538338da56d27.tar.gz cdo-84b363ec6029e3a657bd961197d538338da56d27.tar.xz cdo-84b363ec6029e3a657bd961197d538338da56d27.zip |
[394213] [DB] Postgres fails to create table when the database starts
empty
https://bugs.eclipse.org/bugs/show_bug.cgi?id=394213
-rw-r--r-- | plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java | 28 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java | 50 |
2 files changed, 26 insertions, 52 deletions
diff --git a/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java b/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java index 43614e8225..846fc50f95 100644 --- a/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java +++ b/plugins/org.eclipse.net4j.db.postgresql/src/org/eclipse/net4j/db/postgresql/PostgreSQLAdapter.java @@ -16,8 +16,6 @@ package org.eclipse.net4j.db.postgresql; import org.eclipse.net4j.db.DBType; import org.eclipse.net4j.db.IDBAdapter; import org.eclipse.net4j.db.ddl.IDBField; -import org.eclipse.net4j.db.ddl.IDBTable; -import org.eclipse.net4j.db.internal.postgresql.bundle.OM; import org.eclipse.net4j.spi.db.DBAdapter; import org.postgresql.ds.PGSimpleDataSource; @@ -26,8 +24,6 @@ import javax.sql.DataSource; import java.sql.Driver; import java.sql.SQLException; -import java.sql.Savepoint; -import java.sql.Statement; /** * A {@link IDBAdapter DB adapter} for <a href="http://www.postgresql.org/">PostgreSQL</a> databases. @@ -146,30 +142,6 @@ public class PostgreSQLAdapter extends DBAdapter } @Override - protected void doCreateTable(IDBTable table, Statement statement) throws SQLException - { - Savepoint savepoint = statement.getConnection().setSavepoint(); - - try - { - super.doCreateTable(table, statement); - } - catch (SQLException ex) - { - try - { - statement.getConnection().rollback(savepoint); - } - catch (SQLException ex1) - { - OM.LOG.error(ex1); - } - - throw ex; - } - } - - @Override public DBType adaptType(DBType type) { switch (type) 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 9892e0fbd6..420e86cfca 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 @@ -102,26 +102,27 @@ public abstract class DBAdapter implements IDBAdapter public Set<IDBTable> createTables(Iterable<? extends IDBTable> tables, Connection connection) throws DBException { Set<IDBTable> createdTables = new HashSet<IDBTable>(); - Statement statement = null; - try + for (IDBTable table : tables) { - statement = connection.createStatement(); - for (IDBTable table : tables) + Statement statement = null; + + try { + statement = connection.createStatement(); if (createTable(table, statement)) { createdTables.add(table); } } - } - catch (SQLException ex) - { - throw new DBException(ex); - } - finally - { - DBUtil.close(statement); + catch (SQLException ex) + { + throw new DBException(ex); + } + finally + { + DBUtil.close(statement); + } } return createdTables; @@ -151,26 +152,27 @@ public abstract class DBAdapter implements IDBAdapter public Collection<IDBTable> dropTables(Iterable<? extends IDBTable> tables, Connection connection) throws DBException { List<IDBTable> droppedTables = new ArrayList<IDBTable>(); - Statement statement = null; - try + for (IDBTable table : tables) { - statement = connection.createStatement(); - for (IDBTable table : tables) + Statement statement = null; + + try { + statement = connection.createStatement(); if (dropTable(table, statement)) { droppedTables.add(table); } } - } - catch (SQLException ex) - { - OM.LOG.error(ex); - } - finally - { - DBUtil.close(statement); + catch (SQLException ex) + { + OM.LOG.error(ex); + } + finally + { + DBUtil.close(statement); + } } return droppedTables; |