You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Lai Zhou (JIRA)" <ji...@apache.org> on 2019/03/21 12:00:00 UTC

[jira] [Comment Edited] (CALCITE-2208) MaterializedViewTable.MATERIALIZATION_CONNECTION breaks lex and case sensitivity for end user

    [ https://issues.apache.org/jira/browse/CALCITE-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16798023#comment-16798023 ] 

Lai Zhou edited comment on CALCITE-2208 at 3/21/19 11:59 AM:
-------------------------------------------------------------

 I make a pr for this issue,the changes:

1. Schemas now uses the config of current connection to make context.
 2. CalcitePrepareImpl now uses the context's config rather than a default config
 to create a SqlParser in the 'parse_' method.


was (Author: hhlai1990):
[~julianhyde], I make a pr for this issue,the changes:

1. Schemas now uses the config of current connection to make context.
2. CalcitePrepareImpl now uses the context's config rather than a default config
to create a SqlParser in the 'parse_' method.

> MaterializedViewTable.MATERIALIZATION_CONNECTION breaks lex and case sensitivity for end user
> ---------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-2208
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2208
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.15.0, 1.16.0
>            Reporter: Piotr Bojko
>            Priority: Major
>
> MaterializedViewTable.MATERIALIZATION_CONNECTION used for validating views uses ORACLE lex by default. Calcite expands the view sql to uppercase so when schemas used in such view sql are used are declared in lowercase - Calcite does not find needed objects to resolve and validate the view sql.
> It does really not work even when end user creates connection with lex=oracle, but uses uppercase for the names of its tables. 
> It would be best when MaterializedViewTable.MATERIALIZATION_CONNECTION would be replaced by connection of an end user or dynamically created connection with passed lex from end user connection. 
> Quick and dirty solution is to create MaterializedViewTable.MATERIALIZATION_CONNECTION with caseSensitive=false;



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)