[
https://issues.apache.org/jira/browse/ASTERIXDB-2452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16617753#comment-16617753
]
ASF subversion and git services commented on ASTERIXDB-2452:
------------------------------------------------------------
Commit b71d9ff7b8e34ff64c076fee2fb87a87f9f716fe in asterixdb's branch
refs/heads/master from luochen01
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=b71d9ff ]
[ASTERIXDB-2452] Recompute type env after ListifyUnnestingFunctionRule
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
-Recompute type env of the parent operator after firing
ListifyUnnestingFunctionRule. Otherwise the type env of the parent operator
would still point to the old operator, which is not correct.
Change-Id: I97bf721cb7fc9f36ec14214677d5545ae4aa1d2a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2967
Sonar-Qube: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Contrib: Jenkins <[email protected]>
Integration-Tests: Jenkins <[email protected]>
Reviewed-by: Dmitry Lychagin <[email protected]>
> ListifyUnnestingFunctionRule didn't recompute type environment properly after
> firing
> ------------------------------------------------------------------------------------
>
> Key: ASTERIXDB-2452
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2452
> Project: Apache AsterixDB
> Issue Type: Bug
> Reporter: Chen Luo
> Assignee: Chen Luo
> Priority: Major
>
> The following query trigger a NPE during query optimization
> {code}
> set import-private-functions 'true'
> let $nullstring := [null, null, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
> let $prefix1 := subset-collection($nullstring, 0,
> prefix-len-jaccard(len($nullstring), 0.1f))
> let $prefix4 := subset-collection($nullstring, 0,
> prefix-len-jaccard(len($nullstring), 0.4f))
> let $joinpair :=
> for $s in $prefix4
> for $r in $prefix1
> where $s = $r
> return $s
> return [$joinpair]
> {code}
> The problem is that after ListifyUnnestingFunctionRule is fired, the parent
> operator's type environment is not recomputed, and thus it still points to
> the old operator.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)