Paul Rogers created DRILL-5829:
----------------------------------

             Summary: RecordBatchLoader schema comparison is not case 
insensitive
                 Key: DRILL-5829
                 URL: https://issues.apache.org/jira/browse/DRILL-5829
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.11.0
            Reporter: Paul Rogers
            Assignee: Paul Rogers
             Fix For: 1.12.0


The class {{RecordBatchLoader}} decodes batches received over the wire. It 
determines if the schema of the new batch matches that of the old one. To do 
that, it uses a map of existing columns.

In Drill, column names follow SQL rules: they are case insensitive. Yet, the 
implementation of {{RecordBatchLoader}} uses a case sensitive map:

{code}
    final Map<String, ValueVector> oldFields = Maps.newHashMap();
{code}

This should be:

{code}
    final Map<String, ValueVector> oldFields = CaseInsensitiveMap.newHashMap();
{code}

Without this change, the receivers will report schema changes if a column 
differs only in name case. However, Drill semantics say that names that differ 
in case are identical, and so no schema change should be issued.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to