Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.db')
-rw-r--r--plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF24
-rw-r--r--plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java66
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;
}

Back to the top