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)