Changeset: 755c05380872 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/755c05380872
Modified Files:
        src/main/java/org/monetdb/mcl/io/BufferedMCLReader.java
Branch: default
Log Message:

Optimise waitForPrompt() by delaying the creation of a new StringBuilder object 
till it is really needed.


diffs (29 lines):

diff --git a/src/main/java/org/monetdb/mcl/io/BufferedMCLReader.java 
b/src/main/java/org/monetdb/mcl/io/BufferedMCLReader.java
--- a/src/main/java/org/monetdb/mcl/io/BufferedMCLReader.java
+++ b/src/main/java/org/monetdb/mcl/io/BufferedMCLReader.java
@@ -131,16 +131,21 @@ public final class BufferedMCLReader ext
         * TODO(Wouter): should probably not have to be synchronized.
         */
        final public synchronized String waitForPrompt() throws IOException {
-               final StringBuilder ret = new StringBuilder(128);
+               StringBuilder errmsgs = null;
                String tmp;
 
                while (lineType != LineType.PROMPT) {
                        tmp = readLine();
                        if (tmp == null)
                                throw new IOException("Connection to server 
lost!");
-                       if (lineType == LineType.ERROR)
-                               ret.append('\n').append(tmp.substring(1));
+                       if (lineType == LineType.ERROR) {
+                               if (errmsgs == null)
+                                       errmsgs = new StringBuilder(128);
+                               
errmsgs.append('\n').append(tmp.substring(1).trim());
+                       }
                }
-               return ret.length() == 0 ? null : ret.toString().trim();
+               if (errmsgs == null)
+                       return null;
+               return errmsgs.toString();
        }
 }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to