# HG changeset patch # User František Kučera # Date 1389205466 -3600 # Node ID 4a704c1669f4ff712a70699d86bc19654f0aee06 # Parent 4f4f515df807ce7c1fde2b7052b1eb5dd13d8058 Improved BatchEncoder: writeNextString() diff -r 4f4f515df807 -r 4a704c1669f4 java/sql-dk/src/info/globalcode/sql/dk/batch/BatchEncoder.java --- 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 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[]{};