[
https://issues.jboss.org/browse/TEIID-2794?page=com.atlassian.jira.plugin...
]
Steven Hawkins resolved TEIID-2794.
-----------------------------------
Resolution: Done
There are three classes of functions in Teiid:
System functions (effectively scoped to SYS) and are known at design time.
Pushdown functions (also effectively scoped to SYS) and are supplied by translators.
UDFs which are schema scoped (except for legacy function models) and are defined via
metadata.
When we resolve, system functions take preference - no schema qualification is necessary.
But you can introduce for example a concat udf and call it as schema.concat(...).
Pushdown functions then take preference - but are currently a soft spot. If it quite
possible that two translators will declare the same function with the same root name, but
we will currently not treat that as an ambiguity. The primary reason is that in Designer
pushdown functions must be redeclared in metadata to be used (either with the legacy
function model or with source functions). So we simply assume that first matching
definition is correct. However this is not ideal as we generally should consider all
possible targets for the function to aid in pushdown.
Schema scoped functions are last in preference and require qualification if there are
conflicting names. Similar to the above there may be a need eventually to add a
"conformed" feature for functions (beyond the existing udf / function support
mechanism).
ambiguous function calls are not properly handled
-------------------------------------------------
Key: TEIID-2794
URL:
https://issues.jboss.org/browse/TEIID-2794
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 7.4
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.7
For user defined or possibly translator functions that are given the same name the first
exact match to the function name and types will be used as the function rather than
reporting an ambiguous match.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira