Tables and Synonyms that has grants (on one column only i.e. GRANT UPDATE (MAX_SALARY)) to another schema, the ‘Read Only’ box is checked and grayed-out in the Schema Browser | Synonyms | Data Tab. Column data cannot be updated. If the GRANT UPDATE is for the whole table / synonym, then the issue does not happen.
The same issue also happens when going to Schema Browser | change the user from SCOTT to HR | Tables Tab. The ‘Read Only’ box is also grayed-out and checked.
User has the appropriate privileges to the object. This was not an issue in older Toad versions.
REPLICATION STEPS:
1) Log in as HR user. Create the Table and the Synonym below, and give the Grants as well.
DROP TABLE HR.JOBS_3;
CREATE TABLE HR.JOBS_3
(
JOB_ID VARCHAR2(10 BYTE),
JOB_TITLE VARCHAR2(35 BYTE),
MIN_SALARY NUMBER(6),
MAX_SALARY NUMBER(6)
);
CREATE OR REPLACE SYNONYM SCOTT.JOBS_3 FOR HR.JOBS_3;
GRANT SELECT ON HR.JOBS_3 TO SCOTT;
GRANT UPDATE (MAX_SALARY)ON HR.JOBS_3 TO SCOTT;
2) Use the statement below to add some data (while logged in as HR) as the Grants above were for SELECT and UPDATE only. Perform a COMMIT as well.
INSERT INTO "HR"."JOBS_3"
("JOB_ID", "JOB_TITLE", "MIN_SALARY", "MAX_SALARY")
VALUES
('Test', 'Test', 10000, 20000)
3) Test by: ‘End All Connections’ | connect to SCOTT user | Schema Browser | Synonyms | Data tab. The “Read Only” box is checked and grayed-out. Unable to update the data.
WORKAROUND:
As a workaround, go to the Editor, type EDIT HR.JOBS (or whatever the table name is), and then press F9. You can now then edit in that grid.
STATUS:
Issue fixed in version 12.9. The latest version of Toad for Oracle can be downloaded here.