java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java
branchv_0
changeset 142 da1e38386d84
parent 108 d06d90b28217
child 146 4f4f515df807
--- 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 {