[
https://issues.apache.org/jira/browse/CALCITE-528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14250978#comment-14250978
]
Jacques Nadeau commented on CALCITE-528:
----------------------------------------
I think there are a couple disconnects here. Calcite's default behavior is to
be an ordinal based system. However, it can work as either an Ordinal or a
Name-based system. In fact, Drill has been relying on its name-based
capabilities for more than a year.
I also think we're mixing up case sensitivity and case-preserving. For
example, Drill is case insensitive but case preserving.
[~julianhyde]: I'm confused on your statement on the "no bug or sql to rel".
It sounds like you're saying that Calcite shouldn't be doing column renames in
the Rel classes. Wherever Calcite decides that t1.ColumnA and t2.columnA are
the same or different should be case aware. Where do you think this should be
done?
> Creating output row type of a Join does not obey case-sensitivity flags
> -----------------------------------------------------------------------
>
> Key: CALCITE-528
> URL: https://issues.apache.org/jira/browse/CALCITE-528
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 0.9.1-incubating
> Reporter: Aman Sinha
> Assignee: Julian Hyde
>
> In JoinRelBase.createJoinType() which creates a row type of the output row, a
> HashSet of String is used to keep track of unique field names. The field
> names 'column1' and 'Column1' will both be stored. This creates a problem
> for systems which are treating identifiers as case-insensitive (such as
> Drill) which rely on a Project below a Join to create unique names if the
> join columns are the same name (regardless of case).
> Ideally, the comparison for this should be done based on the criteria
> specified in the Lex settings when instantiating the
> SqlParser.ParserConfigImpl. So, if the parser was created with MYSQL Lex
> settings (see Lex.java), it should be obeyed by the
> JoinRelBase.createJoinType().
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)