Skip to content

Commit b9ee2a8

Browse files
committed
RevokePublicPriveleges
1 parent 76adbb1 commit b9ee2a8

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

MDX2JSON/Installer.cls.xml

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -305,15 +305,25 @@ Download list of files on https://raw.githubusercontent.com/ server.<br>
305305
</Method>
306306

307307
<Method name="RevokePublicPriveleges">
308+
<Description>
309+
Revokes all access of _PUBLIC user to everything in comma-separated list of namespaces</Description>
308310
<ClassMethod>1</ClassMethod>
309311
<FormalSpec>NamespacesList:%String="*"</FormalSpec>
310312
<ReturnType>%Status</ReturnType>
311313
<Implementation><![CDATA[
312-
set st1=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","TABLE","_PUBLIC",,,"_SYSTEM")
313-
set st2=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","VIEW","_PUBLIC",,,"_SYSTEM")
314-
set st3=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","CUBES","_PUBLIC",,,"_SYSTEM")
315-
set st4=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","STORED PROCEDURES","_PUBLIC",,,"_SYSTEM")
316-
return $$$ADDSC(st1, $$$ADDSC(st2, $$$ADDSC(st3,st4)))
314+
set:NamespacesList="*" NamespacesList=..GetNSList()
315+
set basens=$Namespace
316+
set st = $$$OK
317+
for i=1:1:$l(NamespacesList,",") {
318+
zn $p(NamespacesList,",",i)
319+
set st1=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","TABLE","_PUBLIC",,,"_SYSTEM")
320+
set st2=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","VIEW","_PUBLIC",,,"_SYSTEM")
321+
set st3=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","CUBES","_PUBLIC",,,"_SYSTEM")
322+
set st4=$SYSTEM.SQL.RevokeObjPriv("SELECT","*","STORED PROCEDURES","_PUBLIC",,,"_SYSTEM")
323+
set st = $$$ADDSC(st, $$$ADDSC(st1, $$$ADDSC(st2, $$$ADDSC(st3,st4))))
324+
}
325+
zn basens
326+
return st
317327
]]></Implementation>
318328
</Method>
319329

@@ -339,15 +349,20 @@ Returns comma-separated list of all local availible namespaces</Description>
339349
</Method>
340350

341351
<Method name="GrantSelectToUser">
352+
<Description>
353+
Grant select access to User to all tables in comma-separated list of namespaces</Description>
342354
<ClassMethod>1</ClassMethod>
343355
<FormalSpec>User:%String,NamespacesList:%String="*"</FormalSpec>
344356
<Implementation><![CDATA[
345357
set:NamespacesList="*" NamespacesList=..GetNSList()
346358
set basens=$Namespace
359+
set st = $$$OK
347360
for i=1:1:$l(NamespacesList,",") {
348361
zn $p(NamespacesList,",",i)
349-
set st=$SYSTEM.SQL.GrantObjPriv("SELECT","*","TABLE",User)
362+
set st = $$$ADDSC(st,$SYSTEM.SQL.GrantObjPriv("SELECT","*","TABLE",User))
350363
}
364+
zn basens
365+
return st
351366
]]></Implementation>
352367
</Method>
353368
</Class>

0 commit comments

Comments
 (0)