This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. 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 updates on them if they matter to you. If you can't find what you are looking for,
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
Specific links you will want to bookmark for future use
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.
IBM Employees should enter Ideas at https://ideas.ibm.com
Hi Tom, Our Db2 for z/OS engineering team reviewed your post and determined Db2 does not invalidate PP when altering column on the child table because of existing RI with cascade rule. They provided the following:
package contains statement inserting into parent table, hence dependency is on parent table. RI defined.
on delete cascade
alter add col to child
no effect on package
alter RI column to child
not allowed *
alter non RI column to child
no effect on package
alter add col to parent
package mark with 'A' for advisory
alter RI column to parent
not allowed *
alter non RI column to parent
package invalidated
on delete restrict
alter add col to child
no effect on package
alter RI column to child
not allowed *
alter non RI column to child
no effect on package
alter add col to parent
package mark with 'A' for advisory
alter RI column to parent
not allowed *
alter non RI column to parent
package invalidated
on delete set null
alter add col to child
no effect on package
alter RI column to child
not allowed *
alter non RI column to child
no effect on package
alter add col to parent
package mark with 'A' for advisory
alter RI column to parent
not allowed *
alter non RI column to parent
package invalidated
not allowed * --> SQLCODE 148 is issued with reason code 1. Description can be better? Reason code 01: The ALTER statement specified an ALTER COLUMN clause that attempted to drop the default value, alter the default value, or change the length of the column. The column cannot be altered because the column has a field procedure or is involved in a referential or check constraint. The default value cannot be changed because the column has a field procedure.
Db2 only invalidates the parent table pp when user alters a child table c to add an RI which is when the relationship is established. This is not exactly the scenario described.
Therefore, this Aha idea is no longer under consideration because the assumption is invalid.
We appreciate your input to the Db2 for z/OS development team. And we hope that you will continue to submit enhancement suggestions for improvements as customer feedback is a key component to shaping the future direction of Db2 for z/OS.
Sincerely,
The Db2 for z/OS team
Let's assume that we have table P (parent) and C(child) with a FK with CASCADE DELETE OR SET NULL.
Also assume that package PP can delete rows in table P and package PC accesses table C.
It is my understanding that this will create a row in SYSPACKDEP for PP for P (but not for C) and a row in SYSPACKDEP for PC for C.
It is also my understanding that if I ALTER table C, then PP will also be invalidated because of the cascade rule. But it is not registered in SYSPACKDEP that PP is dependent on C.
Our product (Db2 Administration Tool for z/OS) generates REBIND commands and we have to query the Db2 catatog and find parents for C and generate additonal REBIND commands for packages accessing P.
Regular Db2 users face the same problem when trying to answer the question: which packages are invalidated when I ALTER TABLE C.
Thanks
Dear Tom, Thank you for submitting this enhancement request. Our Db2 for z/OS development team has been busy reviewing it and would like to know why you would need to rebind package when changing an object with RI? If the RI definition is changed, you can instead use the column SYSPACKAGE.VALID='A' (rebind advisory) to find the packages.
Please let us know if this is sufficient for your request.
Sincerely,
The Db2 for z/OS Team