You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2016/01/28 05:46:39 UTC

[jira] [Commented] (ASTERIXDB-1263) Can not infer type for variable exception when execute nest group by query

    [ https://issues.apache.org/jira/browse/ASTERIXDB-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15120746#comment-15120746 ] 

ASF subversion and git services commented on ASTERIXDB-1263:
------------------------------------------------------------

Commit 0b642674a4a72b2478028abd11ed03f38322a619 in incubator-asterixdb-hyracks's branch refs/heads/master from [~buyingyi]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-asterixdb-hyracks.git;h=0b64267 ]

ASTERIXDB-1005, ASTERIXDB-1263: clean up subplan flattening, including:
1. Fixed the data property progation in HashJoin, NestedLoopJoin, PreClusteredGroupBy, and BroadcastExchange;
2. Fixed race conditions in SplitOperatorDescriptor;
3. Added a top-down pass for JobBuilder to set location constraints;
4. Fixed AbstractIntroduceGroupByCombinerRule for general cases.

Change-Id: I0197dc879cf983577e63ea5c047144966c0f7a3c
Reviewed-on: https://asterix-gerrit.ics.uci.edu/572
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>


> Can not infer type for variable exception when execute nest group by query
> --------------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1263
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1263
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: Optimizer
>            Reporter: Jianfeng Jia
>            Assignee: Yingyi Bu
>
> Hi, 
> We can use the TinySocial dataset as an example. 
> {code}
> for $t in dataset TweetMessages
> group by $d:= get-hour($t.send-time) with $t
> return { "hour": $d,  "count": count($t),
> "finer":  for $k in $t 
>                group by $min:= get-minute($k.create_at) with $k
>                 order by $min 
>                 return {  "minute": $min, "sum": count($k)}
> }
> {code}
> The optimizer won't compile it and throw the following exception:
> {code}
> SEVERE: Could not infer type for variable '$$19'.
> 592110 org.apache.hyracks.algebricks.common.exceptions.AlgebricksException: Could not infer type for variable '$$19'.
> 592111   at org.apache.asterix.optimizer.rules.SetClosedRecordConstructorsRule$SettingClosedRecordVisitor.visitVariableReferenceExpression(SetClosedRecordConstructorsRule.java:       173)
> 592112   at org.apache.asterix.optimizer.rules.SetClosedRecordConstructorsRule$SettingClosedRecordVisitor.visitVariableReferenceExpression(SetClosedRecordConstructorsRule.java:       79)
> 592113   at org.apache.hyracks.algebricks.core.algebra.expressions.VariableReferenceExpression.accept(VariableReferenceExpression.java:102)
> 592114   at org.apache.asterix.optimizer.rules.SetClosedRecordConstructorsRule$SettingClosedRecordVisitor.transform(SetClosedRecordConstructorsRule.java:93)
> 592115   at org.apache.hyracks.algebricks.core.algebra.operators.logical.GroupByOperator.acceptExpressionTransform(GroupByOperator.java:214)
> 592116   at org.apache.asterix.optimizer.rules.SetClosedRecordConstructorsRule.rewritePost(SetClosedRecordConstructorsRule.java:72)
> 592117   at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:125)
> 592118   at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:99)
> 592119   at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:99)
> 592120   at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:99)
> 592121   at org.apache.hyracks.algebricks.core.rewriter.base.AbstractRuleController.rewriteOperatorRef(AbstractRuleController.java:99)
> 592122   at org.apache.hyracks.algebricks.compiler.rewriter.rulecontrollers.SequentialFixpointRuleController.rewriteWithRuleCollection(SequentialFixpointRuleController.java:53)
> 592123   at org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.runOptimizationSets(HeuristicOptimizer.java:95)
> 592124   at org.apache.hyracks.algebricks.core.rewriter.base.HeuristicOptimizer.optimize(HeuristicOptimizer.java:82)
> 592125   at org.apache.hyracks.algebricks.compiler.api.HeuristicCompilerFactoryBuilder$1$1.optimize(HeuristicCompilerFactoryBuilder.java:87)
> 592126   at org.apache.asterix.api.common.APIFramework.compileQuery(APIFramework.java:289)
> 592127   at org.apache.asterix.aql.translator.QueryTranslator.rewriteCompileQuery(QueryTranslator.java:1896)
> 592128   at org.apache.asterix.aql.translator.QueryTranslator.handleQuery(QueryTranslator.java:2470)
> 592129   at org.apache.asterix.aql.translator.QueryTranslator.compileAndExecute(QueryTranslator.java:384)
> 592130   at org.apache.asterix.api.http.servlet.APIServlet.doPost(APIServlet.java:148)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)