From 54fb5339ef929e6ab27fabaad7725247811baeff Mon Sep 17 00:00:00 2001 From: Padraig O'Sullivan Date: Mon, 5 Jun 2023 15:02:36 -0400 Subject: [PATCH] Add support for Hive logged_in_user() function --- .../hive2rel/functions/StaticHiveFunctionRegistry.java | 1 + .../coral/hive/hive2rel/HiveToRelConverterTest.java | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/coral-hive/src/main/java/com/linkedin/coral/hive/hive2rel/functions/StaticHiveFunctionRegistry.java b/coral-hive/src/main/java/com/linkedin/coral/hive/hive2rel/functions/StaticHiveFunctionRegistry.java index 43bca3878..2ae68c4e6 100644 --- a/coral-hive/src/main/java/com/linkedin/coral/hive/hive2rel/functions/StaticHiveFunctionRegistry.java +++ b/coral-hive/src/main/java/com/linkedin/coral/hive/hive2rel/functions/StaticHiveFunctionRegistry.java @@ -674,6 +674,7 @@ public boolean isOptional(int i) { // Context functions addFunctionEntry("current_user", CURRENT_USER); + createAddUserDefinedFunction("logged_in_user", FunctionReturnTypes.STRING, NILADIC); } /** diff --git a/coral-hive/src/test/java/com/linkedin/coral/hive/hive2rel/HiveToRelConverterTest.java b/coral-hive/src/test/java/com/linkedin/coral/hive/hive2rel/HiveToRelConverterTest.java index 778dbfef4..754c78291 100644 --- a/coral-hive/src/test/java/com/linkedin/coral/hive/hive2rel/HiveToRelConverterTest.java +++ b/coral-hive/src/test/java/com/linkedin/coral/hive/hive2rel/HiveToRelConverterTest.java @@ -1,5 +1,5 @@ /** - * Copyright 2017-2022 LinkedIn Corporation. All rights reserved. + * Copyright 2017-2023 LinkedIn Corporation. All rights reserved. * Licensed under the BSD-2 Clause license. * See LICENSE in the project root for license information. */ @@ -633,6 +633,14 @@ public void testNameSakeColumnNamesShouldGetUniqueIdentifiers() { assertEquals(generated, expected); } + @Test + public void testLoggedInUser() { + final String sql = "SELECT logged_in_user() as liu"; + String generated = relToString(sql); + final String expected = "LogicalProject(liu=[logged_in_user()])\n LogicalValues(tuples=[[{ 0 }]])\n"; + assertEquals(generated, expected); + } + private String relToString(String sql) { return RelOptUtil.toString(converter.convertSql(sql)); }