Skip to Main Content
IBM Data and AI Ideas Portal for Customers


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,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. 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


Status Not under consideration
Workspace Db2
Created by Guest
Created on Dec 13, 2019

RCAC rule needs to be dropped and recreaed after adding new column to a table, even if that column is not part of the rule.

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000888.html

If a column is added to a table on which a mask or a permission is defined, or to a table that is referenced in the definition of a mask or a permission, that mask or permission is invalidated. Access to a table that activates column access control and a defined invalid mask on it is blocked until the invalid mask is either disabled, dropped, or re-created (SQLSTATE 560D0). Access to a table that activates row access control and a defined invalid row permission on it is blocked until the invalid permission is either disabled, dropped, or re-created (SQLSTATE 560D0).



The reason we have this behaviour has to do with how Db2 resolves names, and how an add column can impact that.  When an mask/permission refers to something like COL1_RCAC, Db2 needs to figure out what that object is.  It could be a column, but also a global variable or function (and perhaps others).  A column is at the highest order of precedence when resolving the name.  This means that if COL1_RCAC previously referred to a global variable, the meaning of the mask/permission would change as we suddenly resolved to the column.  So instead the mask/permission is marked invalid and the SECADM needs to investigate to make sure everything is as it should be.

 

drop table howardg.st_contract

DB20000I  The SQL command completed successfully.

 

create table howardg.st_contract like athena.st_contract

DB20000I  The SQL command completed successfully.

 

ALTER TABLE howardg.st_contract DEACTIVATE  COLUMN ACCESS CONTROL

DB20000I  The SQL command completed successfully.

 

ALTER TABLE howardg.st_contract DEACTIVATE  ROW ACCESS CONTROL

DB20000I  The SQL command completed successfully.

 

DROP PERMISSION howardg.st_contract_PERM_RESTRICTION_NY_HP

DB21034E  The command was processed as an SQL statement because it was not a

valid Command Line Processor command.  During SQL processing it returned:

SQL0204N  "HOWARDG.ST_CONTRACT_PERM_RESTRICTION_NY_HP" is an undefined name.

SQLSTATE=42704

 

CREATE PERMISSION howardg.st_contract_PERM_RESTRICTION_NY_HP  ON howardg.st_contract AS T FOR ROWS WHERE ( ( VERIFY_ROLE_FOR_USER  ............) ENFORCED FOR ALL ACCESS ENABLE

DB20000I  The SQL command completed successfully.

 

ALTER TABLE howardg.st_contract  ACTIVATE ROW ACCESS CONTROL

DB20000I  The SQL command completed successfully.

 

select 1 from howardg.st_contract with ur limit 1

 

1

-----------

 

  0 record(s) selected.

 

 

alter table howardg.st_contract add column col1_rcac VARCHAR(1)

DB20000I  The SQL command completed successfully.

 

select 1 from howardg.st_contract with ur limit 1

SQL5188N  The statement failed because object

"HOWARDG.ST_CONTRACT_PERM_RESTRICTION_NY_HP" of type "PERMISSION" is marked

invalid.  SQLSTATE=560D0

 

 

 

Needed by Date Mar 1, 2020