# HG changeset patch
# User Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
# Date 1702470995 -3600
# Node ID 1344603ee8af20126ed0243df1e9fb15c5ae3596
# Parent  e349d8272a132d42b92432e298dd295f751a1f7a
Use intrinsics rather than manual flow control

diff --git a/src/main/java/org/monetdb/jdbc/MonetBlob.java b/src/main/java/org/monetdb/jdbc/MonetBlob.java
--- a/src/main/java/org/monetdb/jdbc/MonetBlob.java
+++ b/src/main/java/org/monetdb/jdbc/MonetBlob.java
@@ -299,8 +299,8 @@ public final class MonetBlob implements 
 		try {
 			offset--;
 			/* transactions? what are you talking about? */
-			for (int i = (int)pos; i < len; i++)
-				buf[i] = bytes[offset + i];
+            if (len - (int) pos >= 0)
+                System.arraycopy(bytes, offset + (int) pos, buf, (int) pos, len - (int) pos);
 		} catch (IndexOutOfBoundsException e) {
 			throw new SQLException(e.getMessage(), "M0M10");
 		}
diff --git a/src/main/java/org/monetdb/jdbc/MonetConnection.java b/src/main/java/org/monetdb/jdbc/MonetConnection.java
--- a/src/main/java/org/monetdb/jdbc/MonetConnection.java
+++ b/src/main/java/org/monetdb/jdbc/MonetConnection.java
@@ -24,13 +24,8 @@ import java.sql.SQLNonTransientConnectio
 import java.sql.SQLWarning;
 import java.sql.Savepoint;
 import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.WeakHashMap;
 import java.util.concurrent.Executor;
 
 import org.monetdb.mcl.io.BufferedMCLReader;
@@ -2902,8 +2897,7 @@ public class MonetConnection
 		@Override
 		public void close() {
 			// feed all rows to the garbage collector
-			for (int i = 0; i < data.length; i++)
-				data[i] = null;
+            Arrays.fill(data, null);
 		}
 
 		/**
diff --git a/src/main/java/org/monetdb/jdbc/MonetStatement.java b/src/main/java/org/monetdb/jdbc/MonetStatement.java
--- a/src/main/java/org/monetdb/jdbc/MonetStatement.java
+++ b/src/main/java/org/monetdb/jdbc/MonetStatement.java
@@ -1571,9 +1571,7 @@ final class MonetVirtualResultSet extend
 		if (row < 1 || row > tupleCount)
 			return false;
 
-		for (int i = 0; i < results[row - 1].length; i++) {
-			tlp.values[i] = results[row - 1][i];
-		}
+        System.arraycopy(results[row - 1], 0, tlp.values, 0, results[row - 1].length);
 
 		return true;
 	}
diff --git a/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java b/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
--- a/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
+++ b/src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
@@ -112,7 +112,7 @@ public final class TupleLineParser exten
 							if (fieldHasEscape) {
 								if (uesc == null) {
 									// first time use, create it with enough capacity, minimum 1024
-									uesc = new StringBuilder(fieldlen > 1024 ? fieldlen : 1024);
+									uesc = new StringBuilder(Math.max(fieldlen, 1024));
 								} else {
 									// reuse the StringBuilder by cleaning it
 									uesc.setLength(0);