Prasanth J created HIVE-5272:
--------------------------------

             Summary: Column statistics on a invalid column name results in 
IndexOutOfBoundsException
                 Key: HIVE-5272
                 URL: https://issues.apache.org/jira/browse/HIVE-5272
             Project: Hive
          Issue Type: Bug
          Components: Statistics
    Affects Versions: 0.13.0
            Reporter: Prasanth J
            Assignee: Prasanth J
             Fix For: 0.13.0


When invalid column name is specified for column statistics 
IndexOutOfBoundsException is thrown. 
{code}hive> analyze table customer_staging compute statistics for columns 
c_first_name, invalid_name, c_customer_sk;
FAILED: IndexOutOfBoundsException Index: 2, Size: 1{code}
If the invalid column name appears at first or last then 
INVALID_COLUMN_REFERENCE is thrown at query planning stage. But if the invalid 
column name appears somewhere in the middle of column lists then 
IndexOutOfBoundsException is thrown at semantic analysis step. The problem is 
with getTableColumnType() and getPartitionColumnType() methods. The following 
segment 
{code}    for (int i=0; i <numCols; i++) {
      colName = colNames.get(i);
      for (FieldSchema col: cols) {
        if (colName.equalsIgnoreCase(col.getName())) {
          colTypes.add(i, new String(col.getType()));
        }
      }
    }{code}
is the reason for it. If the invalid column names appears in the middle of 
column list then the equalsIgnoreCase() skips the invalid name and increments 
the i. Since the list is not initialized it results in exception. 



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to