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 2021/04/15 04:14:00 UTC

[jira] [Resolved] (CALCITE-4572) Conversion of PIG scripts containing rank and filter commands fails

     [ https://issues.apache.org/jira/browse/CALCITE-4572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde resolved CALCITE-4572.
----------------------------------
    Fix Version/s: 1.27.0
       Resolution: Fixed

Fixed in [90530a0a|https://github.com/apache/calcite/commit/90530a0a0571513d5358a0dd16197390f492633d]; thanks for the PR, [~maheshk114]!

> Conversion of PIG scripts containing rank and filter commands fails
> -------------------------------------------------------------------
>
>                 Key: CALCITE-4572
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4572
>             Project: Calcite
>          Issue Type: Bug
>          Components: piglet
>            Reporter: mahesh kumar behera
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.27.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The alias used for RANK is not proper and that causing parameter not found error during conversion.
> {code:java}
> A = LOAD 'scott.EMP' as (EMPNO:int, ENAME:chararray,
>     JOB:chararray, MGR:int, HIREDATE:datetime, SAL:bigdecimal,
>     COMM:bigdecimal, DEPTNO:int);
> B = FOREACH A GENERATE EMPNO, JOB, DEPTNO;
> C = RANK B;
> D = FILTER C by ($0 > 1);
>  {code}
> {code:java}
>     java.lang.IllegalArgumentException: field [rank_B] not found; input fields are: [rank_C, EMPNO, JOB, DEPTNO]
>         at org.apache.calcite.piglet.PigRelExVisitor.visit(PigRelExVisitor.java:220)
>         at org.apache.pig.newplan.logical.expression.ProjectExpression.accept(ProjectExpression.java:215)
>         at org.apache.calcite.piglet.PigRelExWalker.postOrderWalk(PigRelExWalker.java:76)
>         at org.apache.calcite.piglet.PigRelExWalker.postOrderWalk(PigRelExWalker.java:73)
>         at org.apache.calcite.piglet.PigRelExWalker.walk(PigRelExWalker.java:58)
>         at org.apache.calcite.piglet.PigRelExVisitor.translate(PigRelExVisitor.java:123)
>         at org.apache.calcite.piglet.PigRelExVisitor.translatePigEx(PigRelExVisitor.java:142)
>         at org.apache.calcite.piglet.PigRelExVisitor.translatePigEx(PigRelExVisitor.java:157)
>         at org.apache.calcite.piglet.PigRelOpVisitor.visit(PigRelOpVisitor.java:175)
>         at org.apache.pig.newplan.logical.relational.LOFilter.accept(LOFilter.java:79)
>         at org.apache.calcite.piglet.PigRelOpWalker.postOrderWalk(PigRelOpWalker.java:84)
>         at org.apache.calcite.piglet.PigRelOpWalker.walk(PigRelOpWalker.java:62)
>         at org.apache.calcite.piglet.PigRelOpVisitor.translate(PigRelOpVisitor.java:133)
>         at org.apache.calcite.piglet.PigConverter.pigPlan2Rel(PigConverter.java:198)
>         at org.apache.calcite.piglet.PigConverter.pigQuery2Rel(PigConverter.java:157)
>         at org.apache.calcite.test.PigRelOpTest$Fluent.assertRel(PigRelOpTest.java:76)
>         at org.apache.calcite.test.PigRelOpTest$Fluent.assertRel(PigRelOpTest.java:90)
>         at org.apache.calcite.test.PigRelOpTest$Fluent.access$000(PigRelOpTest.java:64)
>         at org.apache.calcite.test.PigRelOpTest.testRankAndFilter(PigRelOpTest.java:1628) {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)