Changeset: cf81dba6a067 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf81dba6a067
Modified Files:
        java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
Branch: embedded-java
Log Message:

Read as much as possible (at a time without blocking), speeding up the 
bootstrapping

I previously removed this, misunderstanding what InputStream.avaialble() 
does... it's fine. Plus we close the InputStream object soon after that, hoping 
the GC collect it as well.


diffs (17 lines):

diff --git 
a/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java 
b/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
--- a/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
+++ b/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java
@@ -73,10 +73,11 @@ public class MonetDBEmbedded implements 
                        final Path tempLibsDir = 
Files.createTempDirectory("monetdb-embedded-libs");
                        File fileOut = new File(tempLibsDir.toString() + 
File.separatorChar + fileName);
                        try (OutputStream out = new FileOutputStream(fileOut)) {
-                               int buffer;
-                               while ((buffer = in.read()) != -1) {
+                               byte[] buffer = new byte[in.available()];
+                               while (in.read(buffer) != -1) {
                                out.write(buffer);
                                }
+                               out.flush();
                                in.close();
                                // Load the lib from the extracted file
                                System.load(fileOut.toString());
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to