[
https://issues.apache.org/jira/browse/HIVE-23307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17101198#comment-17101198
]
Naveen Gangam commented on HIVE-23307:
--------------------------------------
Change looks good to me. +1 for me. Thanks for the patch.
> 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)