diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties index 3a2807f302..ffc375f861 100644 --- a/itests/src/test/resources/testconfiguration.properties +++ b/itests/src/test/resources/testconfiguration.properties @@ -773,6 +773,7 @@ minillaplocal.query.files=\ udaf_collect_set_2.q,\ udaf_all_keyword.q,\ udf_coalesce.q,\ + llap_notequalns.q,\ union_assertion_type.q,\ union_fast_stats.q,\ union_rowcounts.q,\ diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java index ed41bef68d..f41eb8275b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java @@ -565,6 +565,8 @@ system.registerHiddenBuiltIn(GenericUDFOPDTIPlus.class); system.registerHiddenBuiltIn(GenericUDFOPNumericMinus.class); system.registerHiddenBuiltIn(GenericUDFOPNumericPlus.class); + // No operator for nullsafe not equal, but add as built-in to allow for LLAP. + system.registerHiddenBuiltIn(GenericUDFOPNotEqualNS.class); // mask UDFs system.registerGenericUDF(GenericUDFMask.UDF_NAME, GenericUDFMask.class); diff --git a/ql/src/test/queries/clientpositive/llap_notequalns.q b/ql/src/test/queries/clientpositive/llap_notequalns.q new file mode 100644 index 0000000000..a09d09d0a2 --- /dev/null +++ b/ql/src/test/queries/clientpositive/llap_notequalns.q @@ -0,0 +1,5 @@ +--! qt:dataset:src + +set hive.fetch.task.conversion=none; + +SELECT NOT (key <=> key) from src tablesample (1 rows); diff --git a/ql/src/test/results/clientpositive/llap/llap_notequalns.q.out b/ql/src/test/results/clientpositive/llap/llap_notequalns.q.out new file mode 100644 index 0000000000..31c6021c74 --- /dev/null +++ b/ql/src/test/results/clientpositive/llap/llap_notequalns.q.out @@ -0,0 +1,9 @@ +PREHOOK: query: SELECT NOT (key <=> key) from src tablesample (1 rows) +PREHOOK: type: QUERY +PREHOOK: Input: default@src +#### A masked pattern was here #### +POSTHOOK: query: SELECT NOT (key <=> key) from src tablesample (1 rows) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +#### A masked pattern was here #### +false