× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I've found table functions to perform better than complex views in some
circumstances...

Being able to pass in parms that are used the the where seems to sometimes
make a difference...

Had an RPG process that took 5 min to build a work file...

rewrote it as a view, took 1 min...

Tried a UDTF, took 5 seconds...

Charles

On Thu, Jan 25, 2018 at 10:15 AM, Mike Jones <mike.jones.sysdev@xxxxxxxxx>
wrote:

I agree with using system naming instead of sql naming in the connection.

Three additional recommendations:

- Use a view instead of a table function, especially if you notice the
performance of the table function is mediocre at best. Table functions
are
difficult to optimize, especially if you start joining their results to
other tables.
- If you stick with the table function, add "set option dftrdbcol =
*none" to the table function source code, and compile it from an SQL
session where system naming is in effect. This will allow the function
to
properly use a library list when the function is accessed from an SQL
session running under system naming.
- If you're not already doing so, add SPECIFIC NAME xxxxxxxxxx to the
function source code, where xxxxxxxxxx is your specifically chosen 10
character max specific name for the function.

Mike



date: Thu, 25 Jan 2018 11:10:01 -0500
from: dlclark@xxxxxxxxxxxxxxxx
subject: Re: creating table function - UDTF and then calling

"MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx> wrote on 01/25/2018
09:43:07 AM:
when calling , get 4 message in log

SQL0204 LOCATIONS_BY_FUND_MEMBER in QSYS type *lib not found
Diagnostic

CPF503E user defined function error on member
QSQPTABL Notify

CPF503E user defined function error on member
QSQPTABL Senders Copy

SQL0204 LOCATIONS_BY_FUND_MEMBER in QSYS type *lib not found
Diagnostic


even though it says it's not found, it found it and returned an empty
table
(with column headings)

Is there an issue with SQL only table function?
Is this a 10 character limit on function name?
Something else?


Even though you are qualifying the function name, since it is
being called from off-platform so you need to make sure the caller is
using "naming=system" in the connection string for the session. The
default is "naming=sql" and that causes the default schema to be equal to
the user name also specified in the credentials for the connection
string.
Using "naming=system" will allow the session to have access to the full
library list associated.


Sincerely,

Dave Clark
--
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio 45439 USA
(937) 294-5331

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.