[ https://issues.apache.org/jira/browse/DRILL-4020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15068309#comment-15068309 ]
ASF GitHub Bot commented on DRILL-4020: --------------------------------------- Github user jacques-n commented on the pull request: https://github.com/apache/drill/pull/238#issuecomment-166658431 Maybe just submit new request. I can't reopen either. On Dec 22, 2015 7:30 AM, "Akihiko Kusanagi" <notificati...@github.com> wrote: > @jacques-n <https://github.com/jacques-n>, I don't believe I can re-open > this because I didn't close it. Can you do it or do l need to open a new > request? > > — > Reply to this email directly or view it on GitHub > <https://github.com/apache/drill/pull/238#issuecomment-166647086>. > > The not-equal operator returns incorrect results when used on the HBase row > key > ------------------------------------------------------------------------------- > > Key: DRILL-4020 > URL: https://issues.apache.org/jira/browse/DRILL-4020 > Project: Apache Drill > Issue Type: Bug > Components: Storage - HBase > Affects Versions: 1.2.0 > Environment: Drill Sandbox > Reporter: Akihiko Kusanagi > Priority: Critical > Attachments: DRILL-4020.1.patch.txt > > > Create a test HBase table: > {noformat} > hbase> create 'table', 'f' > hbase> put 'table', 'row1', 'f:c', 'value1' > hbase> put 'table', 'row2', 'f:c', 'value2' > hbase> put 'table', 'row3', 'f:c', 'value3' > {noformat} > The table looks like this: > {noformat} > 0: jdbc:drill:zk=maprdemo:5181> SELECT CONVERT_FROM(row_key, 'UTF8') FROM > hbase.`table`; > +---------+ > | EXPR$0 | > +---------+ > | row1 | > | row2 | > | row3 | > +---------+ > 1 row selected (4.596 seconds) > {noformat} > However, this query returns incorrect results when a not-equal operator is > used on the row key: > {noformat} > 0: jdbc:drill:zk=maprdemo:5181> SELECT CONVERT_FROM(row_key, 'UTF8') FROM > hbase.`table` WHERE row_key <> 'row1'; > +---------+ > | EXPR$0 | > +---------+ > | row1 | > | row2 | > | row3 | > +---------+ > 1 row selected (0.573 seconds) > {noformat} > In the query plan, there is no RowFilter: > {noformat} > 00-00 Screen > 00-01 Project(EXPR$0=[CONVERT_FROMUTF8($0)]) > 00-02 Scan(groupscan=[HBaseGroupScan [HBaseScanSpec=HBaseScanSpec > [tableName=table, startRow=, stopRow=, filter=null], columns=[`row_key`]]]) > {noformat} > When the query has multiple not-equal operators, it works fine: > {noformat} > 0: jdbc:drill:zk=maprdemo:5181> SELECT CONVERT_FROM(row_key, 'UTF8') FROM > hbase.`table` WHERE row_key <> 'row1' AND row_key <> 'row2'; > +---------+ > | EXPR$0 | > +---------+ > | row3 | > +---------+ > 1 row selected (0.255 seconds) > {noformat} > In the query plan, a FilterList has two RowFilters with NOT_EQUAL operators: > {noformat} > 00-00 Screen > 00-01 Project(EXPR$0=[CONVERT_FROMUTF8($0)]) > 00-02 Scan(groupscan=[HBaseGroupScan [HBaseScanSpec=HBaseScanSpec > [tableName=table, startRow=, stopRow=, filter=FilterList AND (2/2): > [RowFilter (NOT_EQUAL, row1), RowFilter (NOT_EQUAL, row2)]], > columns=[`row_key`]]]) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)