[
https://issues.apache.org/jira/browse/PHOENIX-3046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15478123#comment-15478123
]
ASF GitHub Bot commented on PHOENIX-3046:
-----------------------------------------
Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/208#discussion_r78241847
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
---
@@ -523,7 +523,12 @@ public Expression visitLeave(LikeParseNode node,
List<Expression> children) thro
byte[] wildcard = {StringUtil.MULTI_CHAR_LIKE};
StringUtil.fill(nullExpressionString, 0, pattern.length(),
wildcard, 0, 1, false);
if (pattern.equals(new String (nullExpressionString))) {
- return IsNullExpression.create(lhs, true,
context.getTempPtr());
+ if (node.isNegate()) {
+ return LiteralExpression.newConstant(false,
Determinism.ALWAYS);
--- End diff --
So WHERE col IS NOT '%' always returns false? Or should it become WHERE col
IS NULL?
> `NOT LIKE '%'` unexpectedly returns results
> -------------------------------------------
>
> Key: PHOENIX-3046
> URL: https://issues.apache.org/jira/browse/PHOENIX-3046
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.7.0
> Reporter: Kevin Liew
> Assignee: Kevin Liew
> Priority: Minor
> Labels: like, like-predicate, phoenix, regex, wildcard, wildcards
> Fix For: 4.9.0, 4.8.1
>
>
> The following returns all rows in the table when it should return no rows:
> {code}select * from emp where first_name not like '%'{code}
> The following returns no rows as expected:
> {code}select * from emp where first_name not like '%%'{code}
> first_name is a VARCHAR column
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)