From 99d4c032d8746db6346585c9cece0bb1a0cc1458 Mon Sep 17 00:00:00 2001 From: jiangxt2 Date: Fri, 27 May 2016 16:40:52 +0800 Subject: [PATCH] Hplsql udf doesn't work in hive cli --- hplsql/src/main/java/org/apache/hive/hplsql/Udf.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hplsql/src/main/java/org/apache/hive/hplsql/Udf.java b/hplsql/src/main/java/org/apache/hive/hplsql/Udf.java index 9c29eeb77068..b5cc76b6d30a 100644 --- a/hplsql/src/main/java/org/apache/hive/hplsql/Udf.java +++ b/hplsql/src/main/java/org/apache/hive/hplsql/Udf.java @@ -95,6 +95,11 @@ void setParameters(DeferredObject[] arguments) throws HiveException { else if (argumentsOI[i] instanceof IntObjectInspector) { Integer value = (Integer)((IntObjectInspector)argumentsOI[i]).getPrimitiveJavaObject(arguments[i].get()); if (value != null) { + // By default, exec.currentScope is null. + if (exec.currentScope == null) { + exec.globalScope = new Scope(Scope.Type.GLOBAL); + exec.currentScope = exec.globalScope; + } exec.setVariable(name, new Var(new Long(value))); } }