Scenarios That Use Granular Privileges
This section includes examples in XQuery that you may run for user1
, user2
, and user3
from the Query Console and observe different results depending on the user’s privileges. The results are discussed in detail in the next section, Test It Out.
Scenario 1: Add range index to database db1
Execute the following XQuery code to add a range index to database db1
:
xquery version "1.0-ml"; import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; let $config := admin:get-configuration() let $dbid := xdmp:database("db1") let $rangespec := admin:database-range-element-index("int", "http://marklogic.com/qa", "column1", (), fn:false()) let $config := admin:database-add-range-element-index($config, $dbid, $rangespec) return admin:save-configuration($config)
Scenario 2: Add range index to database db2
Execute the following XQuery code to add a range index to database db2
:
xquery version "1.0-ml"; import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; let $config := admin:get-configuration() let $dbid := xdmp:database("db2") let $rangespec := admin:database-range-element-index("int", "http://marklogic.com/qa", "column1", (), fn:false()) let $config := admin:database-add-range-element-index($config, $dbid, $rangespec) return admin:save-configuration($config)
Scenario 3: Add backup for database db1
Execute the following XQuery code to add a backup for database db1
:
xquery version "1.0-ml"; import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy"; let $config := admin:get-configuration() let $backup := admin:database-monthly-backup("/space/backup", 2, 1, xs:time("09:45:00"), 2, true(), true(), true()) return admin:save-configuration(admin:database-add-backup($config, xdmp:database("db1"), $backup))