David Mollitor created HIVE-23307: ------------------------------------- Summary: Cache ColumnIndex in HiveBaseResultSet Key: HIVE-23307 URL: https://issues.apache.org/jira/browse/HIVE-23307 Project: Hive Issue Type: New Feature Components: JDBC Affects Versions: 3.1.2 Reporter: David Mollitor
{code:java} public int findColumn(String columnName) throws SQLException { int columnIndex = 0; boolean findColumn = false; for (String normalizedColumnName : normalizedColumnNames) { ++columnIndex; String[] names = normalizedColumnName.split("\\."); String name = names[names.length -1]; if (name.equalsIgnoreCase(columnName) || normalizedColumnName.equalsIgnoreCase(columnName)) { findColumn = true; break; } } if (!findColumn) { throw new SQLException("Could not find " + columnName + " in " + normalizedColumnNames); } else { return columnIndex; } } {code} Cache the column name to column index map to avoid having to look it up again and again for each row O(n^2) -- This message was sent by Atlassian Jira (v8.3.4#803005)