[
https://issues.apache.org/jira/browse/CALCITE-911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14957675#comment-14957675
]
Jinfeng Ni commented on CALCITE-911:
------------------------------------
Whether we put it in a public API is not the really purpose of this patch (I
guess that's a different topic). All we want is make sure Drill can continue to
use Calcite, so that we do not have to keep our forked version. As [~jnadeau]
said, Calcite's code caused breaking change for Drill around 0.9 release.
We proposed two solutions to solve this :1) either Calcite provide two
implementations of CalciteSchema, 2) Calcite allows people to implement
according to the public API (which I guess you do not want to put in public
API).
What's your recommendation? Personally, I do not care which solution we use, as
long as CALCITE DOES NOT BREAK DRILL!!
> Make CalciteSchema extendible for different implementation.
> -----------------------------------------------------------
>
> Key: CALCITE-911
> URL: https://issues.apache.org/jira/browse/CALCITE-911
> Project: Calcite
> Issue Type: Bug
> Reporter: Jinfeng Ni
> Assignee: Jinfeng Ni
> Fix For: 1.5.0-incubating
>
>
> CalciteSchema by default uses cache to store table, sub-schema, function.
> This would work perfectly for schema-based system, yet would create problem
> for Drill, which dynamically explore the schema on the fly during query
> execution.
> One solution is to refactor CalciteSchema and make it as an interface. The
> default implementation would still use the current implementation. Further,
> it would other system to extend the default behavior and make CalciteSchema
> works for Drill as well.
> Background information: The issue around CalciteSchema is one of the reasons
> that Drill has to use a forked version of Calcite. Hopefully, if we could
> resolve this issue, we are one step further to remove the forked Calcite in
> the near future.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)