Do not display Object Does Not Exist error when object exists
Scenario
DB user has SELECT privileges on mysql.proc.
DB user has ALL PRIVILEGES on schemaA, and NO PRIVILEGES on schemaB.
DB user is running dbForge for MySQL 8.0.40
A Stored Procedure (spA) in schemaA calls a Stored Function in schema A (fnA).
A Stored Procedure (spB) in schemaB calls the Stored Function in schema A (fnA).
Therefore, in the Database Explorer tree view, schemaA is listed, schemaB is not.
Action
The user expands the list of Stored Functions in schema A, expands fn_A, and then expands the "Used By" list.
Result
dbForge pops up an error message stating: Object "schemaB.spB" does not exist.
Neither schemaA.spA nor schemaB.spB are listed under "Used By".
Expected Result
No error message
schemaA.spA and schemaB.spB listed under Used By
schemaA.spA is editable
schemaB.spB is read-only
Analysis
Because schemaB is not listed in the Database Explorer, dbForge seems to be unable to list its child objects under the Used By section. When this error happens, it also causes the Used By section to not list ANY objects, even those in schemaA.
The existence of schemaB is revealed by the query to mysql.proc, so that should allow the Used By section to display schemaB.spB, even if the user cannot edit spB. This is desirable, because it informs the developer that something potentially needs to be refactored if changes are made to fn_A.
Could you please provide us the result of the following query:
SHOW GRANTS FOR ’DB_user_name’@’host_name’
You can send a reply straight to our support system at alexaATdevartDOTcom and supportATdevartDOTcom .
-
Eric Rasmussen commented
Email sent.