[ https://issues.apache.org/jira/browse/CALCITE-1742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15960018#comment-15960018 ]
Jinfeng Ni commented on CALCITE-1742: ------------------------------------- Do we know why the {{TableEntry}} found in schema could not be unwrapped into a {PreparingTable} instance? Sounds like we will only hit the code of schema.add on L149 when the existing TableEntry could not be unwrapped. Is it because the table is an implicit table? I agreed with your argument of side effect of getTableFrom() call; we probably should not call schema.add(), either if we could not find a {{TableEntry}}, or the {{TableEntry}} could not be unwrapped. The current code means the call {{getTableFrom()}} would have side effect. [~julianhyde], what's your thoughts regarding this? > CalciteCatalogReader should not add resolved tables into CalciteSchema's > explicit table map > ------------------------------------------------------------------------------------------- > > 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)