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

Daniel Wong updated PHOENIX-5833:
---------------------------------
    Attachment: 0001-PHOENIX-5833-Fix-Incorrect-results-with-RVCs-and-AND.patch

> Incorrect results with RVCs and AND operator
> --------------------------------------------
>
>                 Key: PHOENIX-5833
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5833
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.15.0
>            Reporter: Bharath Vissapragada
>            Assignee: Daniel Wong
>            Priority: Critical
>         Attachments: PHOENIX-5833.4.x.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Phoenix version: 4.15-HBase-1.5
> -- Create a test table and populate a couple of rows.
> {noformat}
> create table repro_bug(a varchar(10) not null, b varchar(10) not null, c 
> varchar(10) not null constraint pk primary key(a, b, c));
> upsert into repro_bug values('abc', 'def', 'RRSQ_IMKKL');
> upsert into repro_bug values('abc', 'def', 'RRS_ZYTDT');
> select * from repro_bug;
> +------+------+-------------+
> |  A   |  B   |      C      |
> +------+------+-------------+
> | abc  | def  | RRSQ_IMKKL  |
> | abc  | def  | RRS_ZYTDT   |
> +------+------+-------------+
> {noformat}
> -- Query 1 - Look for rows where C has a certain prefix - Returns correct 
> result
> {noformat}
> select A, B, C from REPRO_BUG where C like 'RRS\\_%';
> +------+------+------------+
> |  A   |  B   |     C      |
> +------+------+------------+
> | abc  | def  | RRS_ZYTDT  |
> +------+------+------------+
> {noformat}
> -- Query 2 - Look for rows where (a, b, c) > first row - Returns correct 
> result
> {noformat}
> select A, B, C from REPRO_BUG where (A, B, C) > ('abc', 'def', 'RRSQ_IMKKL')
> +------+------+------------+
> |  A   |  B   |     C      |
> +------+------+------------+
> | abc  | def  | RRS_ZYTDT  |
> +------+------+------------+
> {noformat}
> -- Query 3 - Combine the filters from Query 1 and Query2 - Returns incorrect 
> result.. Ideally it should return the same row as above.
> {noformat}
>  select A, B, C from REPRO_BUG where (A, B, C) > ('abc', 'def', 'RRSQ_IMKKL') 
> AND C like 'RRS\\_%';
> +----+----+----+
> | A  | B  | C  |
> +----+----+----+
> +----+----+----+
> {noformat}
> -- Explain for the above incase someone is interested.
> {noformat}
> explain select A, B, C from REPRO_BUG where (A, B, C) > ('abc', 'def', 
> 'RRSQ_IMKKL') AND C like 'RRS\\_%';
> +----------------------------------------------------------------------------------------+-----------------+----------------+--------------+
> |                                          PLAN                               
>            | EST_BYTES_READ  | EST_ROWS_READ  | EST_INFO_TS  |
> +----------------------------------------------------------------------------------------+-----------------+----------------+--------------+
> | CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN RANGE SCAN OVER REPRO_BUG 
> ['abcdef'] - [*]  | null            | null           | null         |
> |     SERVER FILTER BY FIRST KEY ONLY AND C LIKE 'RRS\_%'                     
>            | null            | null           | null         |
> +----------------------------------------------------------------------------------------+-----------------+----------------+--------------+
> 2 rows selected (0.003 seconds)
> {noformat}
> I'm trying to poke around in the code to figure out the issue but my 
> understanding of  Phoenix is limited at this point. So creating a bug report 
> incase someone can figure this out quickly.



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

Reply via email to