You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2014/09/09 03:01:28 UTC
[jira] [Updated] (OPTIQ-401) EXPLAIN should work when some metadata
(stats) are not available
[ https://issues.apache.org/jira/browse/OPTIQ-401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Hyde updated OPTIQ-401:
------------------------------
Summary: EXPLAIN should work when some metadata (stats) are not available (was: New SqlExplainLevel ALL_ATTRIBUTES_COST_IF_AVAILABLE)
> EXPLAIN should work when some metadata (stats) are not available
> ----------------------------------------------------------------
>
> Key: OPTIQ-401
> URL: https://issues.apache.org/jira/browse/OPTIQ-401
> Project: Optiq
> Issue Type: Improvement
> Reporter: Ashutosh Chauhan
> Assignee: Ashutosh Chauhan
>
> We want to use ALL_ATTRIBUTES because it prints cost, which is helpful in debugging. But in certain systems (eg Hive) stats are fetched only on demand. So, its possible that stats are not fetched and are thus not available for few columns because they were not referred in query. Now, if you do {{RelOptUtil.toString(optiqPlan, SqlExplainLevel.ALL_ATTRIBUTES)}} It results in following stack trace:
> {code}
> at com.sun.proxy.$Proxy18.getRowCount(Unknown Source)
> at org.eigenbase.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:95)
> at org.eigenbase.rel.RelWriterImpl.explain_(RelWriterImpl.java:103)
> at org.eigenbase.rel.RelWriterImpl.done(RelWriterImpl.java:171)
> at org.eigenbase.rel.AbstractRelNode.explain(AbstractRelNode.java:280)
> at org.eigenbase.relopt.RelOptUtil.toString(RelOptUtil.java:1694)
> Caused by: java.lang.AssertionError
> at org.eigenbase.rel.metadata.RelMetadataQuery.isNonNegative(RelMetadataQuery.java:381)
> at org.eigenbase.rel.metadata.RelMetadataQuery.validateResult(RelMetadataQuery.java:400)
> at org.eigenbase.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:96)
> at org.eigenbase.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:61)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)