# HG changeset patch # User Martin van Dinther <martin.van.dinther@monetdbsolutions.com> # Date 1688047676 -7200 # Node ID f2f7039f93b101d9e91777f38d1b79551a592f36 # Parent 846a456f0f0cce1bcdf60da7524e15ed7a862c17 Optimization: When number of resultcolumns is less than MAX_COLUMNS_PER_QUERY (which is 80) we can make a StringBuilder with a smaller initial capacity. diff --git a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java --- a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java +++ b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java @@ -875,7 +875,7 @@ final class MonetResultSetMetaData // for debug: System.out.println("fetchManyColumnsInfo(" + column + ")" + (startcol != column ? " changed into startcol: " + startcol : "") + " nextUpperbound: " + nextUpperbound); } - final StringBuilder query = new StringBuilder(410 + (MAX_COLUMNS_PER_QUERY * 150)); + final StringBuilder query = new StringBuilder(410 + (java.lang.Math.min(MAX_COLUMNS_PER_QUERY, colCount) * 150)); /* next SQL query is a simplified version of query in MonetDatabaseMetaData.getColumns(), to fetch only the needed attributes of a column */ query.append("SELECT " + "s.\"name\" AS schnm, " +