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)

Reply via email to