[ 
https://issues.apache.org/jira/browse/HIVE-23307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Mollitor updated HIVE-23307:
----------------------------------
    Fix Version/s: 4.0.0
       Resolution: Fixed
           Status: Resolved  (was: Patch Available)

Pushed to master. Thank you for the review [~ngangam]!

> 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
>             Fix For: 4.0.0
>
>         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)

Reply via email to