Author: navis
Date: Fri Feb 7 00:36:10 2014
New Revision: 1565503
URL: http://svn.apache.org/r1565503
Log:
HIVE-6301 : get_json_object throw java.lang.IllegalStateException: No match
found exception. (Zhiwen Sun via Navis)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java
URL:
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java?rev=1565503&r1=1565502&r2=1565503&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java Fri Feb
7 00:36:10 2014
@@ -186,6 +186,11 @@ public class UDFJson extends UDF {
if (mKeyGroup1 == null) {
if (mKey == null) {
mKey = patternKey.matcher(path);
+ mKeyMatches = mKey.matches() ? Boolean.TRUE : Boolean.FALSE;
+ mKeyMatchesCache.put(path, mKeyMatches);
+ if (!mKeyMatches.booleanValue()) {
+ return null;
+ }
}
mKeyGroup1 = mKey.group(1);
mKeyGroup1Cache.put(path, mKeyGroup1);