changeset 814:1344603ee8af

Use intrinsics rather than manual flow control
author Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
date Wed, 13 Dec 2023 13:36:35 +0100 (16 months ago)
parents e349d8272a13
children 17b8a0a84e62
files src/main/java/org/monetdb/jdbc/MonetBlob.java src/main/java/org/monetdb/jdbc/MonetConnection.java src/main/java/org/monetdb/jdbc/MonetStatement.java src/main/java/org/monetdb/mcl/parser/TupleLineParser.java
diffstat 4 files changed, 6 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- 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");
 		}
--- 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);
 		}
 
 		/**
--- 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;
 	}
--- 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);