I only asked for the doc reference, because it was noted that the time and effort had already been taken to find a doc reference. Seemed only natural, that the link could have been included for completeness [my first draft I recall said /for the archives/; hmmm], so I asked if perhaps a doc link could be added. Regardless, I searched out the documentation...

The reference in InfoCrap, is obfuscated by reference to /*SYS naming/ instead of that being called out as /System Naming/; I searched for an exact match on the latter. The specific doc can be found by drilling down in Programming to the SQL /UDF Concepts/ topic for [or directly, via the following links]:
SQL Programming->Routines->User-defined Functions UDFs

http://publib.boulder.ibm.com/infocenter/systems/scope/i5os/topic/db2/rbafzfuncres.htm
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/sqlp/rbafyudfduvc.htm

_Full name of a function_

The full name of a function using *SQL naming is <schema-name>.<function-name>

The full name of a function in *SYS naming is <schema-name>/<function-name>
Function names _cannot be qualified using *SYS naming_ in DML statements.

That is very cleverly hidden, since instead of /qualified function/ like the link I gave, it is referred to as a /Full name of a function/ instead. "Full name"? <sarcasm> /Full name/ is *so* much more intuitive than /qualified function/, since _all other references_ I see for naming\delimiters, suggest that names would be *qualified* by a schema [library] name. </sarcasm>

Oh yeah! They are [probably] being written by ESL Chinese. Maybe I should just be happy that they did not call out SCHEMA names as _surnames_ or something even more ridiculous. ;-)

Why it was left unstated in the /Qualified function resolution/ link reference that I gave... I have no clue.
http://publib.boulder.ibm.com/infocenter/systems/scope/i5os/topic/db2/rbafzfuncres.htm

_Function resolution_

A function is invoked by its function name, which is _implicitly_ or _explicitly_ *qualified* with a schema name, followed by parentheses that enclose the arguments to the function.

<<SNIP>>

Function resolution is similar for functions that are invoked with a qualified or unqualified function name with the exception that for an unqualified name, the database manager needs to search more than one schema. **

- Qualified function resolution: When a function is invoked with a function name and a schema name, the database manager only searches the specified schema to resolve which function to execute. The database manager selects candidate functions based on the following criteria:

<<SNIP>>

Apparently no room available in that text, to point out the minor detail that _explicit_ /Qualified function resolution/ is _not possible_ with /System Naming/. ;-)

Reader Comment submitted! "Please add **: An explicitly qualified function name is unsupported for System Naming." No mention of DML is required here, because function resolution implies run-time.

Regards, Chuck

vhamberg@xxxxxxxxxxx wrote:

I forget exactly where - there are some SQL Programming manuals
that tell how the system resolves stuff in the 2 naming styles.
There is also a Redbook on UDFs and SPs, etc., that might have this.

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.