This portal is to open public enhancement requests against the products and services belonging to IBM Sustainability Software. 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).
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:
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 updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
See this idea on ideas.ibm.com
Consider MboSet.setWhere(whereClause) and Mbo.getMboSet(relationName, objectName, whereClause). In both cases, whereClause is expected to be a String. If current good practice is followed, the developer will have assembled their where clause in an instance of SqlFormat. Assuming they called their SqlFormat instance sf, they will have to call sf.format() or etc to convert the SqlFormat to a String for the whereClause argument. However, the result of sf.format() may contain something like :user, and MboSet.setWhere() or Mbo.getMboSet() may wrap the string sent in in a SqlFormat and format it again, causing the embedded :user to be converted into a user ID.
Instead of requiring the whereClause argument to be a string, these methods should be overloaded to also take a SqlFormat on which format() will be called to produce the where clause.
A side benefit would be performance, because if the whereClause passed in is a SqlFormat, then it's not a string that needs to be parsed by SqlFormat (again).
Another side benefit will be cleaner code, since the developer will be able to call setWhere(sf) instead of setWhere(sf.format()).
Idea priority | High |
Needed By | Yesterday (Let's go already!) |
By clicking the "Post Comment" or "Submit Idea" button, you are agreeing to the IBM Ideas Portal Terms of Use.
Do not place IBM confidential, company confidential, or personal information into any field.
The lack of this feature promotes poor coding practice: since setWhere() takes a String, why not just concatenate one together like "wonum = '"+myWonumVar+"'" ? Whereas if setWhere() was overloaded to possibly take a SqlFormat instead, coders might be inclined to ask themselves what a SqlFormat is and learn naturally to do it right.
And satisfying this RFE might satisfy RFE MASM-I-753 about updating the Mbo in a SqlFormat, depending on how you implement it.