--- a/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Tue Jan 07 21:53:24 2014 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Tue Jan 07 21:54:59 2014 +0100
@@ -66,7 +66,11 @@
public void executeQuery(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
formatter.writeStartBatch();
formatter.writeStartDatabase(databaseDefinition);
+ formatter.writeStartStatement();
+ formatter.writeQuery(sqlCommand.getQuery());
+ formatter.writeParameters(sqlCommand.getParameters());
processCommand(sqlCommand, formatter);
+ formatter.writeEndStatement();
formatter.writeEndDatabase();
formatter.writeEndBatch();
}
@@ -75,7 +79,12 @@
formatter.writeStartBatch();
formatter.writeStartDatabase(databaseDefinition);
while (batch.hasNext()) {
- processCommand(batch.next(), formatter);
+ SQLCommand sqlCommand = batch.next();
+ formatter.writeStartStatement();
+ formatter.writeQuery(sqlCommand.getQuery());
+ formatter.writeParameters(sqlCommand.getParameters());
+ processCommand(sqlCommand, formatter);
+ formatter.writeEndStatement();
}
formatter.writeEndDatabase();
formatter.writeEndBatch();
@@ -90,19 +99,19 @@
log.log(Level.FINE, "Statement executed");
if (isRS) {
try (ResultSet rs = ps.getResultSet()) {
- processResultSet(sqlCommand, rs, formatter);
+ processResultSet(rs, formatter);
}
} else {
- processUpdateResult(sqlCommand, ps, formatter);
+ processUpdateResult(ps, formatter);
}
logWarnings(ps);
while (ps.getMoreResults() || ps.getUpdateCount() > -1) {
ResultSet rs = ps.getResultSet();
if (rs == null) {
- processUpdateResult(sqlCommand, ps, formatter);
+ processUpdateResult(ps, formatter);
} else {
- processResultSet(sqlCommand, rs, formatter);
+ processResultSet(rs, formatter);
rs.close();
}
logWarnings(ps);
@@ -110,26 +119,13 @@
}
}
- private void processUpdateResult(SQLCommand sqlCommand, PreparedStatement ps, Formatter formatter) throws SQLException {
- formatter.writeStartUpdatesResult();
- formatter.writeQuery(sqlCommand.getQuery());
- formatter.writeParameters(sqlCommand.getParameters());
- formatter.writeUpdatedRowsCount(ps.getUpdateCount());
- formatter.writeEndUpdatesResult();
+ private void processUpdateResult(PreparedStatement ps, Formatter formatter) throws SQLException {
+ formatter.writeUpdatesResult(ps.getUpdateCount());
}
- private void processResultSet(SQLCommand sqlCommand, ResultSet rs, Formatter formatter) throws SQLException {
- formatter.writeStartResultSet();
- formatter.writeQuery(sqlCommand.getQuery());
- formatter.writeParameters(sqlCommand.getParameters());
+ private void processResultSet(ResultSet rs, Formatter formatter) throws SQLException {
+ formatter.writeStartResultSet(new ColumnsHeader(rs.getMetaData()));
- processResultSetRows(rs, formatter);
-
- formatter.writeEndResultSet();
- }
-
- private void processResultSetRows(ResultSet rs, Formatter formatter) throws SQLException {
- formatter.writeColumnsHeader(new ColumnsHeader(rs.getMetaData()));
int columnCount = rs.getMetaData().getColumnCount();
while (rs.next()) {
@@ -142,6 +138,7 @@
formatter.writeEndRow();
}
+ formatter.writeEndResultSet();
}
private void logWarnings(PreparedStatement ps) throws SQLException {