Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-08-02 08:48:23 +0000
committerEike Stepper2012-08-02 08:48:23 +0000
commite6c4a4b879732fb571eb751fd0a28e9a2c1c4cf0 (patch)
tree3ff68878d2951211d7609f1280c9bd8f229331a2 /plugins/org.eclipse.net4j.db
parent7ee287a6f5ee2f1355d83414e2ce947d9bc18ce9 (diff)
downloadcdo-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.MF18
-rw-r--r--plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java41
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);
+ }
+ }
}

Back to the top