This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
Shape the future of IBM!
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Search existing ideas
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updateson them if they matter to you. If you can't find what you are looking for,
Post your ideas
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Specific links you will want to bookmark for future use
Eliminate the Propagation of READS SQL DATA in Caller Functions in SQL
When creating User Defined Table functions in SQL, the CONTAINS SQL, READS SQL DATA and MODIFIES SQL DATA statements are currently propagated up the food chain. This means if a simple function calls another function, that called function's attributes are required in the caller. This should not be the case. In fact, on IBM i, I doubt that this is anything more than a artificial restriction. One that needs to be removed.
I create a user defined function in SQL. In that SQL function I may call QSYS2.QCMDEXC which means my SQL function has to include the MODIFIES SQL DATA clause. If I call the SPLIT helper function to parse out some data, since I am running a SELECT statement, I have to include the READS SQL DATA in that function, but it also means every other SQL FUNCTION that calls my new function also has to have READS SQL DATA. If there is no point to this clause, please remove it. If it is necessary figure out a way to make it work globally perhaps by embedded MODIFIES SQL DATA in everything by default assuming there's no real performance difference or authority issue. But this is just very limiting. IBM Support's solution is to always use MODIFIES SQL DATA in case you call QCMDEXC or another function that calls a function with MODIFIES SQL DATA in it. Therefore, make MODIFIES the default, please.
Do not place IBM confidential, company confidential, or personal information into any field.