private Checker borrowChecker() { FilterStringColLikeStringScalar fil = new FilterStringColLikeStringScalar(); return fil.createChecker(new String(pattern, StandardCharsets.UTF_8)); }
private Checker borrowChecker() { FilterStringColLikeStringScalar fil = new FilterStringColLikeStringScalar(); return fil.createChecker(new String(pattern, StandardCharsets.UTF_8)); }
@Test public void testStringLikeMultiByte() throws HiveException { FilterStringColLikeStringScalar expr; VectorizedRowBatch batch; // verify that a multi byte LIKE expression matches a matching string batch = makeStringBatchMixedCharSize(); expr = new FilterStringColLikeStringScalar(0, ('%' + new String(multiByte) + '%').getBytes(StandardCharsets.UTF_8)); expr.transientInit(); expr.evaluate(batch); Assert.assertEquals(1, batch.size); // verify that a multi byte LIKE expression doesn't match a non-matching string batch = makeStringBatchMixedCharSize(); expr = new FilterStringColLikeStringScalar(0, ('%' + new String(multiByte) + 'x').getBytes(StandardCharsets.UTF_8)); expr.transientInit(); expr.evaluate(batch); Assert.assertEquals(0, batch.size); }
expr = new FilterStringColLikeStringScalar(0, "abc%".getBytes()); expr.transientInit(); expr.evaluate(vrb); expr = new FilterStringColLikeStringScalar(0, "%abc".getBytes(StandardCharsets.UTF_8)); expr.transientInit(); expr.evaluate(vrb); expr = new FilterStringColLikeStringScalar(0, "%abc%".getBytes()); expr.transientInit(); expr.evaluate(vrb); expr = new FilterStringColLikeStringScalar(0, "%abc%de".getBytes()); expr.transientInit(); expr.evaluate(vrb); expr = new FilterStringColLikeStringScalar(0, "%abc_%de".getBytes()); expr.transientInit(); expr.evaluate(vrb); expr = new FilterStringColLikeStringScalar(0, "abc".getBytes()); expr.transientInit(); expr.evaluate(vrb);
batch = makeStringBatchMixedCharSize(); pattern = new Text(mixPercentPattern); FilterStringColLikeStringScalar expr = new FilterStringColLikeStringScalar(0, mixPercentPattern); expr.transientInit(); expr.evaluate(batch);
UDFLike udf = new UDFLike(); for (String pattern : patterns) { VectorExpression expr = new FilterStringColLikeStringScalar(0, pattern.getBytes(StandardCharsets.UTF_8)); expr.transientInit(); VectorizedRowBatch batch = VectorizedRowGroupGenUtil.getVectorizedRowBatch(1, 1, 1);