You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Maryann Xue (JIRA)" <ji...@apache.org> on 2017/05/04 23:14:04 UTC

[jira] [Updated] (CALCITE-1742) Create a read-consistent view of CalciteSchema for each statement compilation

     [ https://issues.apache.org/jira/browse/CALCITE-1742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maryann Xue updated CALCITE-1742:
---------------------------------
    Summary: Create a read-consistent view of CalciteSchema for each statement compilation  (was: CalciteCatalogReader should not add resolved tables into CalciteSchema's explicit table map)

> 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)