You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Arina Ielchiieva (JIRA)" <ji...@apache.org> on 2017/11/07 10:15:01 UTC

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

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

Arina Ielchiieva updated DRILL-5829:
------------------------------------
    Fix Version/s:     (was: 1.12.0)
                   1.13.0

> 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.13.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)