[
https://issues.apache.org/jira/browse/OPTIQ-401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14122189#comment-14122189
]
Ashutosh Chauhan commented on OPTIQ-401:
----------------------------------------
Request here is that this new mode (or modify existing ALL_ATTRIBUTES mode) to
not throw exception in such cases and print stats NA in those cases.
> New SqlExplainLevel ALL_ATTRIBUTES_COST_IF_AVAILABLE
> ----------------------------------------------------
>
> Key: OPTIQ-401
> URL: https://issues.apache.org/jira/browse/OPTIQ-401
> Project: Optiq
> Issue Type: Improvement
> Reporter: Ashutosh Chauhan
> Assignee: Julian Hyde
>
> 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)