You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Taewoo Kim (JIRA)" <ji...@apache.org> on 2016/11/04 23:57:58 UTC
[jira] [Commented] (ASTERIXDB-1727) Adding grouping hint breaks the
query
[ https://issues.apache.org/jira/browse/ASTERIXDB-1727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15638111#comment-15638111 ]
Taewoo Kim commented on ASTERIXDB-1727:
---------------------------------------
During the optimization, the given group-by logical operator contains two aggregates in the subplan. Based on the hash hint, the physical operator for this logical group-by is set as EXTERNAL_GROUP_BY. However, we don't support multiple aggregates in the EXTERNAL_GROUP_BY yet. So, we need to set PRE_CLUSTERED_GROUP_BY instead of EXTERNAL_GROUP_BY.
In short, this query with hash hint by will ignore the hash hint.
> Adding grouping hint breaks the query
> -------------------------------------
>
> Key: ASTERIXDB-1727
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1727
> Project: Apache AsterixDB
> Issue Type: Bug
> Reporter: Pouria
> Assignee: Taewoo Kim
>
> The following query works fine with no hint. Adding a hint to use hash-based group-by breaks it with the following error:
> {noformat}
> Variable $$43 could not be found in any input schema. [AlgebricksException]
> {noformat}
> Here is the query:
> {noformat}
> let $customer := {{ {"cid" : 1}, {"cid" : 2} }}
> let $orders := {{
> {"oid": 100,
> "ocid" : 1,
> "priority" : 10,
> "class" : "A",
> "items" : [{"price" : 1000}, { "price" : 2000}]
> },
> {"oid": 200,
> "ocid" : 2,
> "priority" : 20,
> "class" : "A",
> "items" : [{"price" : 2000}, {"price" : 3000}]
> }
> }}
> for $c in $customer
> for $o in $orders
> where
> $c.cid = $o.ocid
> for $i in $o.items
> /*+ hash*/
> group by $o_orderid := $o.oid, $o_class := $o.class, $o_priority := $o.priority
> with $i
> let $price := sum (
> for $t in $i
> return
> $t.price
> )
> order by $price desc, $o_class
> return {
> "o_orderkey": $o_orderid,
> "price": $price,
> "o_class": $o_class,
> "o_priority": $o_priority
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)