Red Hat Training

A Red Hat training course is available for Red Hat JBoss Data Virtualization

A.3. Red Hat JBoss Data Virtualization Functions and Order of Precedence

There are three classes of functions in Red Hat JBoss Data Virtualization:
  • 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 resolved, 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.

Note

It possible that two translators will declare the same function with the same root name, but Red Hat JBoss Data Virtualization currently does not treat this as an ambiguity. The primary reason is that in Teiid Designer, pushdown functions must be redeclared in metadata to be used (either with the legacy function model or with source functions). So it is assumed that the first matching definition is correct.
Schema scoped functions are last in preference and require qualification if there are conflicting names.