1.1 --- a/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Tue Jan 07 21:53:24 2014 +0100
1.2 +++ b/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Tue Jan 07 21:54:59 2014 +0100
1.3 @@ -66,7 +66,11 @@
1.4 public void executeQuery(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
1.5 formatter.writeStartBatch();
1.6 formatter.writeStartDatabase(databaseDefinition);
1.7 + formatter.writeStartStatement();
1.8 + formatter.writeQuery(sqlCommand.getQuery());
1.9 + formatter.writeParameters(sqlCommand.getParameters());
1.10 processCommand(sqlCommand, formatter);
1.11 + formatter.writeEndStatement();
1.12 formatter.writeEndDatabase();
1.13 formatter.writeEndBatch();
1.14 }
1.15 @@ -75,7 +79,12 @@
1.16 formatter.writeStartBatch();
1.17 formatter.writeStartDatabase(databaseDefinition);
1.18 while (batch.hasNext()) {
1.19 - processCommand(batch.next(), formatter);
1.20 + SQLCommand sqlCommand = batch.next();
1.21 + formatter.writeStartStatement();
1.22 + formatter.writeQuery(sqlCommand.getQuery());
1.23 + formatter.writeParameters(sqlCommand.getParameters());
1.24 + processCommand(sqlCommand, formatter);
1.25 + formatter.writeEndStatement();
1.26 }
1.27 formatter.writeEndDatabase();
1.28 formatter.writeEndBatch();
1.29 @@ -90,19 +99,19 @@
1.30 log.log(Level.FINE, "Statement executed");
1.31 if (isRS) {
1.32 try (ResultSet rs = ps.getResultSet()) {
1.33 - processResultSet(sqlCommand, rs, formatter);
1.34 + processResultSet(rs, formatter);
1.35 }
1.36 } else {
1.37 - processUpdateResult(sqlCommand, ps, formatter);
1.38 + processUpdateResult(ps, formatter);
1.39 }
1.40 logWarnings(ps);
1.41
1.42 while (ps.getMoreResults() || ps.getUpdateCount() > -1) {
1.43 ResultSet rs = ps.getResultSet();
1.44 if (rs == null) {
1.45 - processUpdateResult(sqlCommand, ps, formatter);
1.46 + processUpdateResult(ps, formatter);
1.47 } else {
1.48 - processResultSet(sqlCommand, rs, formatter);
1.49 + processResultSet(rs, formatter);
1.50 rs.close();
1.51 }
1.52 logWarnings(ps);
1.53 @@ -110,26 +119,13 @@
1.54 }
1.55 }
1.56
1.57 - private void processUpdateResult(SQLCommand sqlCommand, PreparedStatement ps, Formatter formatter) throws SQLException {
1.58 - formatter.writeStartUpdatesResult();
1.59 - formatter.writeQuery(sqlCommand.getQuery());
1.60 - formatter.writeParameters(sqlCommand.getParameters());
1.61 - formatter.writeUpdatedRowsCount(ps.getUpdateCount());
1.62 - formatter.writeEndUpdatesResult();
1.63 + private void processUpdateResult(PreparedStatement ps, Formatter formatter) throws SQLException {
1.64 + formatter.writeUpdatesResult(ps.getUpdateCount());
1.65 }
1.66
1.67 - private void processResultSet(SQLCommand sqlCommand, ResultSet rs, Formatter formatter) throws SQLException {
1.68 - formatter.writeStartResultSet();
1.69 - formatter.writeQuery(sqlCommand.getQuery());
1.70 - formatter.writeParameters(sqlCommand.getParameters());
1.71 + private void processResultSet(ResultSet rs, Formatter formatter) throws SQLException {
1.72 + formatter.writeStartResultSet(new ColumnsHeader(rs.getMetaData()));
1.73
1.74 - processResultSetRows(rs, formatter);
1.75 -
1.76 - formatter.writeEndResultSet();
1.77 - }
1.78 -
1.79 - private void processResultSetRows(ResultSet rs, Formatter formatter) throws SQLException {
1.80 - formatter.writeColumnsHeader(new ColumnsHeader(rs.getMetaData()));
1.81 int columnCount = rs.getMetaData().getColumnCount();
1.82
1.83 while (rs.next()) {
1.84 @@ -142,6 +138,7 @@
1.85 formatter.writeEndRow();
1.86 }
1.87
1.88 + formatter.writeEndResultSet();
1.89 }
1.90
1.91 private void logWarnings(PreparedStatement ps) throws SQLException {