changeset 10:4ef332ad8ec0

For efficiency fetch columns.length only once in a local variable.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 29 Sep 2016 17:13:48 +0200 (2016-09-29)
parents c37a76cc1e6e
children 01b9672e9308
files src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
@@ -330,12 +330,13 @@ public class MonetResultSet extends Mone
 	@Override
 	public int findColumn(String columnName) throws SQLException {
 		if (columnName != null && columns != null) {
-			for (int i = 0; i < columns.length; i++) {
+			final int array_size = columns.length;
+			for (int i = 0; i < array_size; i++) {
 				if (columnName.equals(columns[i]))
 					return i + 1;
 			}
 			/* if an exact match did not succeed try a case insensitive match */
-			for (int i = 0; i < columns.length; i++) {
+			for (int i = 0; i < array_size; i++) {
 				if (columnName.equalsIgnoreCase(columns[i]))
 					return i + 1;
 			}
@@ -1232,11 +1233,12 @@ public class MonetResultSet extends Mone
 		return new rsmdw() {
 			// for the more expensive methods (getPrecision(), getScale(), isNullable()), we provide a simple cache
 			// caches to store precision, scale and isNullable values from getColumns()
-			private boolean[] _is_fetched	= new boolean[columns.length +1];
-			private int[] _precision	= new int[columns.length +1];
-			private int[] _scale		= new int[columns.length +1];
-			private int[] _isNullable	= new int[columns.length +1];
-			private boolean[] _isAutoincrement = new boolean[columns.length +1];
+			final int array_size = columns.length + 1;  // add 1 as in JDBC columns start from 1 (array from 0).
+			private boolean[] _is_fetched	= new boolean[array_size];
+			private int[] _precision	= new int[array_size];
+			private int[] _scale		= new int[array_size];
+			private int[] _isNullable	= new int[array_size];
+			private boolean[] _isAutoincrement = new boolean[array_size];
 			private Connection conn = null;
 			private DatabaseMetaData dbmd = null;