diff --git ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java index 793e8a7..1294fb5 100755 --- ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java +++ ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java @@ -184,7 +184,7 @@ public BooleanWritable evaluate(Text s, Text likePattern) { parseSimplePattern(strLikePattern); if (type == PatternType.COMPLEX) { - p = Pattern.compile(likePatternToRegExp(strLikePattern)); + p = Pattern.compile(likePatternToRegExp(strLikePattern), Pattern.MULTILINE); } } diff --git ql/src/test/queries/clientpositive/udf_like.q ql/src/test/queries/clientpositive/udf_like.q index d7728e7..b39c771 100644 --- ql/src/test/queries/clientpositive/udf_like.q +++ ql/src/test/queries/clientpositive/udf_like.q @@ -23,3 +23,8 @@ SELECT '1+2' LIKE '_+_', '|||' LIKE '|_|', '+++' LIKE '1+_' FROM src tablesample (1 rows); + + +CREATE TEMPORARY TABLE SplitLines(`id` string) STORED AS ORC; +INSERT INTO SplitLines SELECT 'withdraw\ncash'; +SELECT * FROM SplitLines WHERE `id` LIKE '%withdraw%cash';