Database | Proc | Application | Created | Links |
sybsystemprocs | sp_monitor_check_permission | 31 Aug 14 | Defects Dependencies |
1 2 /* 3 ** This stored procedure checks if the user has sa_role or mon_role 4 ** It also calls proc_role() which generates appropriate audit records 5 ** 6 ** Parameters: 7 ** @procname - Name of the caller 8 ** 9 ** Returns: 10 ** 0 in case of success 11 ** 1 in case of failure 12 */ 13 create procedure sp_monitor_check_permission @procname varchar(30) 14 as 15 declare @retstat int 16 declare @sa_role int /* has sa role */ 17 declare @mon_role int /* has mon role */ 18 19 select @sa_role = charindex("sa_role", show_role()), 20 @mon_role = charindex("mon_role", show_role()) 21 22 if ((@sa_role = 0) and (@mon_role = 0)) 23 begin 24 /* 25 ** We succeed if both proc_role call returns success 26 ** This is for the unlikely event when a user gains privilege just before 27 ** calls to proc_role are made. 28 ** This avoids, no error message but yet the permission failed scenario 29 */ 30 select @retstat = proc_role("mon_role") 31 if (@retstat > 0) 32 begin 33 return (0) 34 end 35 return (1) 36 end 37 else 38 begin 39 /* We fail if proc_role fails */ 40 if (@sa_role > 0) 41 begin 42 select @retstat = proc_role("sa_role") 43 if (@retstat = 0) 44 begin 45 return (1) 46 end 47 end 48 if (@mon_role > 0) 49 begin 50 select @retstat = proc_role("mon_role") 51 if (@retstat = 0) 52 begin 53 return (1) 54 end 55 end 56 end 57 return (0) 58
exec sp_procxmode 'sp_monitor_check_permission', 'AnyMode' go Grant Execute on sp_monitor_check_permission to public go
DEFECTS | |
MGTP 3 Grant to public sybsystemprocs..sp_monitor_check_permission | |
MUCO 3 Useless Code Useless Brackets | 22 |
MUCO 3 Useless Code Useless Brackets | 31 |
MUCO 3 Useless Code Useless Brackets | 33 |
MUCO 3 Useless Code Useless Brackets | 35 |
MUCO 3 Useless Code Useless Brackets | 40 |
MUCO 3 Useless Code Useless Brackets | 43 |
MUCO 3 Useless Code Useless Brackets | 45 |
MUCO 3 Useless Code Useless Brackets | 48 |
MUCO 3 Useless Code Useless Brackets | 51 |
MUCO 3 Useless Code Useless Brackets | 53 |
MUCO 3 Useless Code Useless Brackets | 57 |
VUNU 3 Variable is not used @procname | 13 |
MTR1 2 Metrics: Comments Ratio Comments: 32% | 13 |
MTR2 2 Metrics: Cyclomatic Complexity Cyclo: 4 = 7dec - 5exi + 2 | 13 |
MTR3 2 Metrics: Query Complexity Complexity: 26 | 13 |
DEPENDENCIES |
CALLERS called by proc sybsystemprocs..sp_monitor_procedure called by proc sybsystemprocs..sp_monitor_connection called by proc sybsystemprocs..sp_monitor_statement called by proc sybsystemprocs..sp_monitor_archive called by proc sybsystemprocs..sp_monitor_deadlock called by proc sybsystemprocs..sp_monitor called by proc sybsystemprocs..sp_monitor_disable called by proc sybsystemprocs..sp_monitor_deadlock called by proc sybsystemprocs..sp_monitor_procstack called by proc sybsystemprocs..sp_monitor_enable called by proc sybsystemprocs..sp_monitor_event called by proc sybsystemprocs..sp_monitor_list |