UFN_ADHOCQUERYFOLDERS_GETUSERSFOLDERS
Returns all ad-hoc query folders where a user has permission to that folder and all its ancestor folders.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_ADHOCQUERYFOLDERS_GETUSERSFOLDERS
(
@CURRENTAPPUSERID uniqueidentifier
)
returns table
as
return
(
with PERMISSIONEDFOLDERSCTE as
(
select
ID,
PARENTFOLDERID,
NAME,
DISPLAYORDER
from dbo.ADHOCQUERYFOLDER
where
(select ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID) = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_ADHOCQUERYFOLDER_IN_SYSTEMROLE(@CURRENTAPPUSERID, ADHOCQUERYFOLDER.ID) = 1
),
RECURSIVECTE as
(
select
ID,
PARENTFOLDERID,
NAME,
DISPLAYORDER
from PERMISSIONEDFOLDERSCTE
where
PARENTFOLDERID is null
union all
select
PERMISSIONEDFOLDERSCTE.ID,
PERMISSIONEDFOLDERSCTE.PARENTFOLDERID,
PERMISSIONEDFOLDERSCTE.NAME,
PERMISSIONEDFOLDERSCTE.DISPLAYORDER
from PERMISSIONEDFOLDERSCTE
inner join RECURSIVECTE on PERMISSIONEDFOLDERSCTE.PARENTFOLDERID = RECURSIVECTE.ID
)
select
ID,
PARENTFOLDERID,
NAME,
DISPLAYORDER
from RECURSIVECTE
)