diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.db')
-rw-r--r-- | plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF | 24 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java | 66 |
2 files changed, 34 insertions, 56 deletions
diff --git a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF index 05b09d3243..c9b9b8558e 100644 --- a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db;singleton:=true -Bundle-Version: 4.3.0.qualifier +Bundle-Version: 4.4.0.qualifier Bundle-Activator: org.eclipse.net4j.internal.db.bundle.OM$Activator Bundle-Vendor: %providerName Bundle-ClassPath: . @@ -11,16 +11,16 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, org.eclipse.net4j.db.jdbc;bundle-version="[4.0.0,5.0.0)" -Export-Package: org.eclipse.net4j.db;version="4.3.0", - org.eclipse.net4j.db.ddl;version="4.3.0", - org.eclipse.net4j.db.ddl.delta;version="4.3.0", - org.eclipse.net4j.db.dml;version="4.3.0", - org.eclipse.net4j.internal.db;version="4.3.0";x-internal:=true, - org.eclipse.net4j.internal.db.bundle;version="4.3.0";x-internal:=true, - org.eclipse.net4j.internal.db.ddl;version="4.3.0";x-internal:=true, - org.eclipse.net4j.internal.db.ddl.delta;version="4.3.0";x-internal:=true, - org.eclipse.net4j.internal.db.dml;version="4.3.0";x-internal:=true, - org.eclipse.net4j.spi.db;version="4.3.0", - org.eclipse.net4j.spi.db.ddl;version="4.3.0" +Export-Package: org.eclipse.net4j.db;version="4.4.0", + org.eclipse.net4j.db.ddl;version="4.4.0", + org.eclipse.net4j.db.ddl.delta;version="4.4.0", + org.eclipse.net4j.db.dml;version="4.4.0", + org.eclipse.net4j.internal.db;version="4.4.0";x-internal:=true, + org.eclipse.net4j.internal.db.bundle;version="4.4.0";x-internal:=true, + org.eclipse.net4j.internal.db.ddl;version="4.4.0";x-internal:=true, + org.eclipse.net4j.internal.db.ddl.delta;version="4.4.0";x-internal:=true, + org.eclipse.net4j.internal.db.dml;version="4.4.0";x-internal:=true, + org.eclipse.net4j.spi.db;version="4.4.0", + org.eclipse.net4j.spi.db.ddl;version="4.4.0" Bundle-ActivationPolicy: lazy Eclipse-BuddyPolicy: registered diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java index f019877ea6..0918d52bc7 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java @@ -62,6 +62,16 @@ public final class DBUtil public static final int MAX_BATCH_SIZE = Integer.parseInt(OMPlatform.INSTANCE.getProperty( "org.eclipse.net4j.db.MAX_BATCH_SIZE", "2000")); + /** + * A system property to enable noisy close, i.e. exception catch in close methods are thrown as {@link DBException} exception. + * + * @since 4.4 + */ + public static final String PROP_ENABLE_NOISY_CLOSE = "org.eclipse.net4j.db.close.noisy"; + + private static final boolean isNoisyCloseEnabled = Boolean.valueOf(OMPlatform.INSTANCE.getProperty( + PROP_ENABLE_NOISY_CLOSE, Boolean.FALSE.toString())); + private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_SQL, DBUtil.class); private DBUtil() @@ -192,50 +202,6 @@ public final class DBUtil return new DBDatabase((DBAdapter)adapter, connectionProvider, schemaName, fixNullableIndexColumns); } - // /** - // * @since 4.2 - // */ - // public static <T> T updateSchema(IDBConnectionProvider connectionProvider, RunnableWithConnection<T> runnable) - // { - // return execute(connectionProvider, new RunnableWithConnection<T>() - // { - // public T run(Connection connection) throws SQLException - // { - // return null; - // } - // }); - // } - // - // /** - // * @since 4.2 - // */ - // public static <T> T updateSchema(Connection connection, RunnableWithConnection<T> runnable) - // { - // DBConnection dbConnection = null; - // - // try - // { - // if (connection instanceof DBConnection) - // { - // dbConnection = (DBConnection)connection; - // dbConnection.getDatabase().beginSchemaAccess(true); - // } - // - // return runnable.run(connection); - // } - // catch (SQLException ex) - // { - // throw new DBException(ex); - // } - // finally - // { - // if (dbConnection != null) - // { - // - // } - // } - // } - public static IDBSchema createSchema(String name) { return new org.eclipse.net4j.internal.db.ddl.DBSchema(name); @@ -417,6 +383,10 @@ public final class DBUtil } catch (Exception ex) { + if (isNoisyCloseEnabled) + { + throw new DBException(ex); + } OM.LOG.error(ex); return ex; } @@ -435,6 +405,10 @@ public final class DBUtil } catch (Exception ex) { + if (isNoisyCloseEnabled) + { + throw new DBException(ex); + } OM.LOG.error(ex); return ex; } @@ -460,6 +434,10 @@ public final class DBUtil } catch (Exception ex) { + if (isNoisyCloseEnabled) + { + throw new DBException(ex); + } OM.LOG.error(ex); return ex; } |