Thomas Tauber-Marshall has posted comments on this change. Change subject: IMPALA-5286: Query fails due to Kudu column name case ......................................................................
Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/6902/1/fe/src/main/java/org/apache/impala/analysis/Analyzer.java File fe/src/main/java/org/apache/impala/analysis/Analyzer.java: Line 946: String key = slotPath.toString().toLowerCase(); > This works just fine for other tables. The slotPath and names in Columns ar Its true that we don't convert Kudu column names to lower case when creating the Impala KuduColumn objects while loading the table. We could in theory eliminate this bug by doing that, but that would introduce the problem that we couldn't locate the columns with org.apache.kudu.Schema.getColumn, eg in KuduScanNode. Unless we want to ask Kudu to supply a Schema.getColumnCaseInsensitive (which I doubt they would like, since they allow columns with names that only differ by casing), we have to preserve the original casing somewhere. A possible option would be to provide a KuduColumn.getNameWithOriginalCase (or something better named) and then general code like this can rely on getName as it does for other table types and only Kudu specific code would need to call getNameWithOriginalCase. That seems a little brittle, though, if people in the future writing Kudu specific code don't realize that they have to call the special function. Thoughts? -- To view, visit http://gerrit.cloudera.org:8080/6902 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I14aba88510012174716691b9946e1c7d54d01b44 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Matthew Jacobs <[email protected]> Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]> Gerrit-HasComments: Yes
