You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Laurent Goujon (Jira)" <ji...@apache.org> on 2020/08/17 23:06:00 UTC

[jira] [Created] (CALCITE-4179) org.apache.calcite.jdbc package polluting core Calcite planning packages

Laurent Goujon created CALCITE-4179:
---------------------------------------

             Summary: org.apache.calcite.jdbc package polluting core Calcite planning packages
                 Key: CALCITE-4179
                 URL: https://issues.apache.org/jira/browse/CALCITE-4179
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: Laurent Goujon


Several classes under {{org.apache.calcite.jdbc}} package are used by planning classes. As those JDBC classes are some form of implementation, it means the Calcite API has some kind of coupling, causing extra challenges for alternate implementations.

One of the central classes of {{org.apache.calcite.jdbc}} is {{CalciteSchema}} which represents the catalog space. This class is designed to load the entire catalog and hold it in memory, which is a problem for those having catalogs too large for this to be practical. This class is sometimes used instead of the more generic {{Schema}} and {{SchemaPlus}} classes.

Another similar class is {{CalcitePrepare}}: the class is for example used by {{org.apache.calcite.prepare.Prepare}} instead of the dependency being the other way around.





--
This message was sent by Atlassian Jira
(v8.3.4#803005)