[ https://issues.apache.org/jira/browse/HIVE-23307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Mollitor updated HIVE-23307: ---------------------------------- Issue Type: Improvement (was: New Feature) > Cache ColumnIndex in HiveBaseResultSet > -------------------------------------- > > Key: HIVE-23307 > URL: https://issues.apache.org/jira/browse/HIVE-23307 > Project: Hive > Issue Type: Improvement > Components: JDBC > Affects Versions: 3.1.2 > Reporter: David Mollitor > Assignee: David Mollitor > Priority: Major > Attachments: HIVE-23307.1.patch > > > {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)