You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Bowen Li (Jira)" <ji...@apache.org> on 2019/11/14 21:23:00 UTC

[jira] [Updated] (FLINK-14782) CoreModule#getFunctionDefinition should return empty optional when function does not exist

     [ https://issues.apache.org/jira/browse/FLINK-14782?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bowen Li updated FLINK-14782:
-----------------------------
    Summary: CoreModule#getFunctionDefinition should return empty optional when function does not exist  (was: CoreModule#getFunctionDefinition throws exception when function does not exist)

> CoreModule#getFunctionDefinition should return empty optional when function does not exist
> ------------------------------------------------------------------------------------------
>
>                 Key: FLINK-14782
>                 URL: https://issues.apache.org/jira/browse/FLINK-14782
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.10.0
>            Reporter: Dawid Wysakowicz
>            Assignee: Bowen Li
>            Priority: Major
>             Fix For: 1.10.0
>
>
> As in the subject CoreModule#getFunctionDefinition throws exception when function does not exist, while it should just return an Optional.empty(). 
> {code}
> 	@Test
> 	public void testGetFunction() {
> 		Optional<FunctionDefinition> optional = CoreModule.INSTANCE.getFunctionDefinition("AAA");
> 	}
> {code}
> An easy fix would be to change the {{CoreModule#getFunctionDefinition}} to
> {code}
> 	@Override
> 	public Optional<FunctionDefinition> getFunctionDefinition(String name) {
> 		return BuiltInFunctionDefinitions.getDefinitions().stream()
> 			.filter(f -> f.getName().equalsIgnoreCase(name))
> 			.findFirst()
> 			.map(Function.identity());
> 	}
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)