SQL Query:
/* 'OR' Strategy
SELECT ...
left join (...)
AUTH ON (AUTH.RESOURCE_ID_ = RES.ID_ OR AUTH.RESOURCE_ID_ = D.KEY_ OR AUTH.RESOURCE_ID_ = '*' )
*/
EXPLAIN select count(distinct RES.ID_ )
from ACT_RU_TASK RES
inner join ACT_RE_PROCDEF D on RES.PROC_DEF_ID_ = D.ID_
left join ACT_RE_PROCDEF PROCDEF
on RES.PROC_DEF_ID_ = PROCDEF.ID_
left JOIN (
SELECT A.*
FROM ACT_RU_AUTHORIZATION A
WHERE A.TYPE_ < 2
AND ( A.USER_ID_ in ( 'kermit', '*')
OR A.GROUP_ID_ IN ( 'Gerentes' , 'Atendentes' , 'AtendentesSAC' , 'Bko-formalizacao' , 'Backoffices' )
)
AND (
(
A.RESOURCE_TYPE_ = 7 AND A.PERMS_ & 2 = 2
OR
A.RESOURCE_TYPE_ = 6 AND A.PERMS_ & 64 = 64
)
)
)
AUTH ON (AUTH.RESOURCE_ID_ = RES.ID_ OR AUTH.RESOURCE_ID_ = D.KEY_ OR AUTH.RESOURCE_ID_ = '*' )