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.
Since we are in DB2 V10 we use triggers with bi-temporal tables (system temporal + business temporal table) to implement complex relational integrity rules that can not be defined using standard primary/foreign keys. It's related to simple INSERT or DELETE/UPDATE with FOR PORTION OF BUSINESS_TIME statement. All of our development was based on recommendation made in IBM DeveloperWorks document "Managing time in DB2 with temporal consistency Enforce time-based referential integrity" from July 12, 2012 written by Mr. Matthias Nicola and Mr. Martin Sommerlandt.
In DB2 V10 and DB2 V11 conversion mode, there was no problem. It was possible to define a trigger referencing a SYSTEM TEMPORAL or BI-TEMPORAL table in the WHEN clause. Since we are in DB2 V11, we receive an SQLCODE=-270 each time that the package trigger is rebound.
In DB2 V11, there is a procedure to circumvent this issue, we have to alter the BI-TEMPORAL table to DROP the VERSIONING, DROP/CREATE the trigger, add the VERSIONING and finaly REBIND the TRIGGER PACKAGE with bind option SYSTIMESENSITIVE NO. Even if this procedure is less obvious than before, it works.
According to IBM, in DB2 V12, this solution will not work anymore and we will have to review/drop the triggers that are impacted and implement the RI in the programs that are updating the tables. This solution will work too but the RI will not be verified if the update is done via spufi, datastudio, ... With triggers it was also verified in such cases. This solution is than a lot less secured, and more difficult to maintain (one TRIGGER per type of modification vs multiple programs doing insert/update/delete).
Do not place IBM confidential, company confidential, or personal information into any field.