[ https://issues.apache.org/jira/browse/CALCITE-1742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15997591#comment-15997591 ]
Maryann Xue commented on CALCITE-1742: -------------------------------------- [~julianhyde], [~jni], Could you please take a look at https://github.com/apache/calcite/pull/421? > Create a read-consistent view of CalciteSchema for each statement compilation > ----------------------------------------------------------------------------- > > Key: CALCITE-1742 > URL: https://issues.apache.org/jira/browse/CALCITE-1742 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.12.0 > Reporter: Maryann Xue > Assignee: Maryann Xue > > {{CalciteSchema}} is designed to have two sets of objects, the explicit and > the implicit. A explicit object means an object we add through explicit > {{CalciteSchema#addTable}} (or {{CalciteSchema.addFunction}}, etc) calls, > while an implicit object means an object we get from the underlying > {{Schema}} object's getXXX methods. > > However, in {{CalciteCatalogReader#getTableFrom}}, after a table is resolved > through {{CalciteSchema.getTable}} method, it will be added to the > {{CalciteSchema}} again as an explicit object regardless of whether it is > originally implicit or explicit. So if it happens to be an implicit table, > any change about that table later on will be shadowed by the newly added > explicit object and thus cannot be accessed. -- This message was sent by Atlassian JIRA (v6.3.15#6346)