You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2017/09/29 23:56:00 UTC

[jira] [Created] (DRILL-5829) RecordBatchLoader schema comparison is not case insensitive

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)