Index: ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java (revision 1160551) +++ ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLike.java (working copy) @@ -25,6 +25,7 @@ import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.BooleanWritable; import org.apache.hadoop.io.Text; +import org.apache.commons.lang.StringUtils; /** * UDFLike. @@ -177,6 +178,9 @@ if (s == null || likePattern == null) { return null; } + if (StringUtils.isBlank(likePattern.toString())) { + throw new IllegalArgumentException("Empty Pattern not supported"); + } if (!likePattern.equals(lastLikePattern)) { lastLikePattern.set(likePattern); String strLikePattern = likePattern.toString(); Index: ql/src/test/queries/clientnegative/select_like_with_empty_pattern.q =================================================================== --- ql/src/test/queries/clientnegative/select_like_with_empty_pattern.q (revision 0) +++ ql/src/test/queries/clientnegative/select_like_with_empty_pattern.q (revision 0) @@ -0,0 +1,4 @@ +SELECT a, b FROM ( + SELECT key a, value b + FROM src +) src1 where b like ''; Index: ql/src/test/results/clientnegative/select_like_with_empty_pattern.q.out =================================================================== --- ql/src/test/results/clientnegative/select_like_with_empty_pattern.q.out (revision 0) +++ ql/src/test/results/clientnegative/select_like_with_empty_pattern.q.out (revision 0) @@ -0,0 +1,18 @@ +PREHOOK: query: SELECT a, b FROM ( + SELECT key a, value b + FROM src +) src1 where b like '' +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: file:/tmp/root/hive_2011-08-25_11-55-38_107_5239170836551955463/-mr-10000 +Execution failed with exit status: 2 +Obtaining error information + +Task failed! +Task ID: + Stage-1 + +Logs: + +/home/opensrc/22ndAug/build/ql/tmp//hive.log +FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask