phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dumindu Buddhika (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-2796) Remove unnecessary code for handling array data type
Date Fri, 25 Mar 2016 05:29:25 GMT

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

Dumindu Buddhika commented on PHOENIX-2796:
-------------------------------------------

Yeah. The tests are testServerArrayElementProjection set of tests from ArrayIT and testServerArrayElementProjection
tests from QueryCompilerTest.

> Remove unnecessary code for handling array data type
> ----------------------------------------------------
>
>                 Key: PHOENIX-2796
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2796
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Samarth Jain
>
> [~ram_krish][~Dumindux] - In BaseScannerRegionObserver, I am seeing this piece of code
which is buggy and is not serving any purpose either. The bug is that it ends up removing
the wrong key value from the result in result.remove(idx). Step through the code when you
are running ArrayIT#testServerArrayElementProjection2 as an example. 
> FWIW, I commented it out and the tests in ArrayIT all passed. Can you guys please check?

> {code}
> for (KeyValueColumnExpression kvExp : arrayKVRefs) {
>                     if (kvExp.evaluate(tuple, ptr)) {
>                         for (int idx = tuple.size() - 1; idx >= 0; idx--) {
>                             Cell kv = tuple.getValue(idx);
>                             if (Bytes.equals(kvExp.getColumnFamily(), 0, kvExp.getColumnFamily().length,
>                                     kv.getFamilyArray(), kv.getFamilyOffset(), kv.getFamilyLength())
>                                 && Bytes.equals(kvExp.getColumnName(), 0, kvExp.getColumnName().length,
>                                         kv.getQualifierArray(), kv.getQualifierOffset(),
kv.getQualifierLength())) {
>                                 // remove the kv that has the full array values.
>                                 result.remove(idx);
>                                 break;
>                             }
>                         }
>                     }
>                 }
> {code}



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

Mime
View raw message