--- a/java/sql-dk/src/info/globalcode/sql/dk/batch/BatchEncoder.java Wed Jan 08 19:18:52 2014 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/batch/BatchEncoder.java Wed Jan 08 19:24:26 2014 +0100
@@ -45,9 +45,7 @@
sqlCommand = ((SQLCommandNamed) sqlCommand).getSQLCommandNumbered();
}
- byte[] sqlBytes = toBytes(sqlCommand.getQuery());
- buffer.writeInt(sqlBytes.length);
- buffer.write(sqlBytes);
+ writeNextString(sqlCommand.getQuery(), buffer);
List<? extends Parameter> parameters = sqlCommand.getParameters();
@@ -55,9 +53,7 @@
for (Parameter p : parameters) {
buffer.writeInt(p.getType().getCode());
- byte[] value = toBytes((String) p.getValue()); // parameters are encoded before any preprocessing
- buffer.writeInt(value.length);
- buffer.write(value);
+ writeNextString((String) p.getValue(), buffer); // parameters are encoded before any preprocessing
}
buffer.flush();
@@ -71,6 +67,12 @@
}
}
+ private void writeNextString(String s, DataOutputStream out) throws IOException {
+ byte[] bytes = toBytes(s);
+ out.writeInt(bytes.length);
+ out.write(bytes);
+ }
+
private static byte[] toBytes(String s) {
if (s == null) {
return new byte[]{};