private boolean match(String str, String pattern) throws SQLException { LiteralExpression strExpr = LiteralExpression.newConstant(str, PVarchar.INSTANCE, SortOrder.ASC); LiteralExpression patternExpr = LiteralExpression.newConstant(pattern, PVarchar.INSTANCE, SortOrder.ASC); List<Expression> children = Arrays.<Expression>asList(strExpr, patternExpr); LikeExpression likeExpr = StringBasedLikeExpression.create(children, LikeType.CASE_SENSITIVE); ImmutableBytesWritable ptr = new ImmutableBytesWritable(); boolean evaluated = likeExpr.evaluate(null, ptr); Boolean result = (Boolean)likeExpr.getDataType().toObject(ptr); if (evaluated) { return result; } return false; }
private boolean testExpression(String value, String expression, SortOrder sortorder) throws SQLException { LiteralExpression v = LiteralExpression.newConstant(value, PVarchar.INSTANCE, sortorder); LiteralExpression p = LiteralExpression.newConstant(expression, PVarchar.INSTANCE, sortorder); List<Expression> children = Arrays.<Expression>asList(v,p); LikeExpression e1 = ByteBasedLikeExpression.create(children, LikeType.CASE_SENSITIVE); LikeExpression e2 = StringBasedLikeExpression.create(children, LikeType.CASE_SENSITIVE); ImmutableBytesWritable ptr = new ImmutableBytesWritable(); boolean evaluated1 = e1.evaluate(null, ptr); Boolean result1 = (Boolean)e1.getDataType().toObject(ptr); assertTrue(evaluated1); boolean evaluated2 = e2.evaluate(null, ptr); Boolean result2 = (Boolean)e2.getDataType().toObject(ptr); assertTrue(evaluated2); assertEquals(result1, result2); return result1; }
private boolean testExpression (String value, String expression, SortOrder sortorder) throws SQLException { LiteralExpression v = LiteralExpression.newConstant(value, PVarchar.INSTANCE, sortorder); LiteralExpression p = LiteralExpression.newConstant(expression, PVarchar.INSTANCE, sortorder); List<Expression> children = Arrays.<Expression>asList(v,p); LikeExpression e1 = ByteBasedLikeExpression.create(children, LikeType.CASE_INSENSITIVE); LikeExpression e2 = StringBasedLikeExpression.create(children, LikeType.CASE_INSENSITIVE); ImmutableBytesWritable ptr = new ImmutableBytesWritable(); boolean evaluated1 = e1.evaluate(null, ptr); Boolean result1 = (Boolean)e1.getDataType().toObject(ptr); assertTrue(evaluated1); boolean evaluated2 = e2.evaluate(null, ptr); Boolean result2 = (Boolean)e2.getDataType().toObject(ptr); assertTrue(evaluated2); assertEquals(result1, result2); return result1; }
private boolean match(String str, String pattern) throws SQLException { LiteralExpression strExpr = LiteralExpression.newConstant(str, PVarchar.INSTANCE, SortOrder.ASC); LiteralExpression patternExpr = LiteralExpression.newConstant(pattern, PVarchar.INSTANCE, SortOrder.ASC); List<Expression> children = Arrays.<Expression>asList(strExpr, patternExpr); LikeExpression likeExpr = StringBasedLikeExpression.create(children, LikeType.CASE_SENSITIVE); ImmutableBytesWritable ptr = new ImmutableBytesWritable(); boolean evaluated = likeExpr.evaluate(null, ptr); Boolean result = (Boolean)likeExpr.getDataType().toObject(ptr); if (evaluated) { return result; } return false; }