Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-5829

RecordBatchLoader schema comparison is not case insensitive

    XMLWordPrintableJSON

Details

    • Bug
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • 1.11.0
    • None
    • None
    • None

    Description

      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:

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

      This should be:

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

      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.

      Attachments

        Issue Links

          Activity

            People

              Paul.Rogers Paul Rogers
              Paul.Rogers Paul Rogers
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: