diff options
author | Eike Stepper | 2012-08-02 08:48:23 +0000 |
---|---|---|
committer | Eike Stepper | 2012-08-02 08:48:23 +0000 |
commit | e6c4a4b879732fb571eb751fd0a28e9a2c1c4cf0 (patch) | |
tree | 3ff68878d2951211d7609f1280c9bd8f229331a2 /plugins/org.eclipse.net4j.db | |
parent | 7ee287a6f5ee2f1355d83414e2ce947d9bc18ce9 (diff) | |
download | cdo-e6c4a4b879732fb571eb751fd0a28e9a2c1c4cf0.tar.gz cdo-e6c4a4b879732fb571eb751fd0a28e9a2c1c4cf0.tar.xz cdo-e6c4a4b879732fb571eb751fd0a28e9a2c1c4cf0.zip |
Add PreparedStatement formatter
Diffstat (limited to 'plugins/org.eclipse.net4j.db')
-rw-r--r-- | plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF | 18 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java | 41 |
2 files changed, 49 insertions, 10 deletions
diff --git a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF index 6b572e8144..6da6fa274b 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.1.0.qualifier +Bundle-Version: 4.2.0.qualifier Bundle-Activator: org.eclipse.net4j.internal.db.bundle.OM$Activator Bundle-Vendor: %providerName Bundle-ClassPath: . @@ -10,13 +10,13 @@ Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)";visibility:=reexport -Export-Package: org.eclipse.net4j.db;version="4.1.0", - org.eclipse.net4j.db.ddl;version="4.1.0", - org.eclipse.net4j.db.dml;version="4.1.0", - org.eclipse.net4j.internal.db;version="4.1.0";x-internal:=true, - org.eclipse.net4j.internal.db.bundle;version="4.1.0";x-internal:=true, - org.eclipse.net4j.internal.db.ddl;version="4.1.0";x-internal:=true, - org.eclipse.net4j.internal.db.dml;version="4.1.0";x-internal:=true, - org.eclipse.net4j.spi.db;version="4.1.0" +Export-Package: org.eclipse.net4j.db;version="4.2.0", + org.eclipse.net4j.db.ddl;version="4.2.0", + org.eclipse.net4j.db.dml;version="4.2.0", + org.eclipse.net4j.internal.db;version="4.2.0";x-internal:=true, + org.eclipse.net4j.internal.db.bundle;version="4.2.0";x-internal:=true, + org.eclipse.net4j.internal.db.ddl;version="4.2.0";x-internal:=true, + org.eclipse.net4j.internal.db.dml;version="4.2.0";x-internal:=true, + org.eclipse.net4j.spi.db;version="4.2.0" Bundle-ActivationPolicy: lazy Eclipse-BuddyPolicy: registered 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 feee7fc5a5..27ce0f5be9 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 @@ -23,6 +23,7 @@ import org.eclipse.net4j.util.om.trace.ContextTracer; import java.io.IOException; import java.sql.Connection; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; @@ -35,7 +36,7 @@ import java.util.Set; /** * A useful base class for implementing custom {@link IDBAdapter DB adapters}. - * + * * @author Eike Stepper */ public abstract class DBAdapter implements IDBAdapter @@ -546,4 +547,42 @@ public abstract class DBAdapter implements IDBAdapter /* SQL code for duplicate keys is 23001 */ return "23001".equals(ex.getSQLState()); } + + /** + * @since 4.2 + */ + public String format(PreparedStatement stmt) + { + return stmt.toString(); + } + + /** + * @since 4.2 + */ + public String format(ResultSet resultSet) + { + try + { + StringBuilder builder = new StringBuilder(); + ResultSetMetaData metaData = resultSet.getMetaData(); + int columnCount = metaData.getColumnCount(); + for (int i = 0; i < columnCount; i++) + { + if (i != 0) + { + builder.append(", "); + } + + builder.append(metaData.getColumnName(i + 1).toLowerCase()); + builder.append("="); + builder.append(resultSet.getObject(i + 1)); + } + + return builder.toString(); + } + catch (SQLException ex) + { + throw new DBException(ex); + } + } } |