[KYUUBI #758] [KYUUBI 661] Add UDF system_user

<!--
Thanks for sending a pull request!

Here are some tips for you:
  1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
  2. If the PR is related to an issue in https://github.com/NetEase/kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
  3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
-->

### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the use case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->

add udf system_user.

### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/tools/testing.html#running-tests) locally before make a pull request

Closes #758 from zhaomin1423/661_add-system_user.

Closes #758

70eba56a [Min Zhao] update system user name
f5edc621 [Min Zhao] [KYUUBI 661] Add UDF system_user

Authored-by: Min Zhao <zhaomin1423@163.com>
Signed-off-by: Kent Yao <yao@apache.org>
This commit is contained in:
Min Zhao 2021-07-19 18:16:38 +08:00 committed by Kent Yao
parent e7e77f9277
commit cd308f38ad
No known key found for this signature in database
GPG Key ID: F7051850A0AF904D
3 changed files with 16 additions and 0 deletions

View File

@ -13,4 +13,5 @@ Kyuubi provides several auxiliary SQL functions as supplement to Spark's [Built-
Name | Description | Return Type | Since
--- | --- | --- | ---
kyuubi_version | Return the version of Kyuubi Server | string | 1.3.0
system_user | Return the system user name for the associated query engine | string | 1.3.0

View File

@ -36,6 +36,13 @@ object KDFRegistry {
"string",
"1.3.0")
val system_user: KyuubiDefinedFunction = create(
"system_user",
udf(() => System.getProperty("user.name")).asNonNullable(),
"Return the system user name for the associated query engine",
"string",
"1.3.0")
def create(
name: String,
udf: UserDefinedFunction,

View File

@ -359,4 +359,12 @@ trait JDBCTests extends BasicJDBCTests {
assert(rs.getString(1) == KYUUBI_VERSION)
}
}
test("kyuubi defined function - system_user") {
withJdbcStatement() { statement =>
val rs = statement.executeQuery("SELECT system_user()")
assert(rs.next())
assert(rs.getString(1) == System.getProperty("user.name"))
}
}
}