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:
Post your ideas
Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,
Post an idea
Upvote ideas that matter most to you
Get feedback from the IBM team to refine your idea
Help IBM prioritize your ideas and requests
The IBM team may need your help to refine the ideas so they may ask for more information or feedback. The product management team will then decide if they can begin working on your idea. If they can start during the next development cycle, they will put the idea on the priority list. Each team at IBM works on a different schedule, where some ideas can be implemented right away, others may be placed on a different schedule.
Receive notification on the decision
Some ideas can be implemented at IBM, while others may not fit within the development plans for the product. In either case, the team will let you know as soon as possible. In some cases, we may be able to find alternatives for ideas which cannot be implemented in a reasonable time.
It is common in the database world (DB2 but all the others I have worked with are the same) to have a separate product installed that generates code and submits it to the database for processing. Eventually, you will encounter SQL that doesn't perform, as written by the product, yet could be made to perform quite well if it were re-written another way. I have encountered this situation a number of times myself.
Oracle has an interesting system where they can choose alternate execution plans for a piece of sql via baselines or profiles. However, if the fundamental sql is bad, there may be no fixing it with an alternate plan.
What I would like to see is a more sophisticated successor to Oracle's technology implemented in DB2, ie a companion to the existing INSTEAD OF TRIGGERS; INSTEAD OF SQL.
The name is fairly self-explanatory but, to be clear:
The engine: 1) analyzes incoming sql and generates a hashcode on the generic form of it (ie with place-holders for the actual values) 2) references a DBA-maintained table to see if said hashcode exists 3) if not, runs the orgininal sql 4) if so, does a replacement of variables into an alternate piece of sql supplied by the DBA (using the variables from the original) 5) runs the new statement INSTEAD OF the original and returns to the caller
Do not place IBM confidential, company confidential, or personal information into any field.