Loading TOC...

admin:database-get-id

admin:database-get-id(
   $config as element(configuration),
   $database-name as xs:string
) as xs:unsignedLong

Summary

This function returns the ID for the specified database from the configuration. The difference between this function and xdmp:database() is that the ID from this function can come from a database that has not yet been saved (that is, from a database that has been created in the same query with the Admin library but has not yet been saved to the cluster configuration files). This ID enables you to completely configure a newly created database without the need to first save the configuration.

Parameters
$config A configuration specification, typically as returned from one of the Admin module functions.
$database-name The name of the database.

Required Privileges

This operation requires at least one of the following privileges:

http://marklogic.com/xdmp/privileges/admin/database

http://marklogic.com/xdmp/privileges/admin/database/{id}

Example


  xquery version "1.0-ml";

  import module namespace admin = "http://marklogic.com/xdmp/admin"
		  at "/MarkLogic/admin.xqy";

  let $config := admin:get-configuration()
  let $config := admin:database-create($config, "myNewDatabase",
                  xdmp:database("Security"), xdmp:database("Schemas"))
  let $databaseID := admin:database-get-id($config, "myNewDatabase")
  let $fieldspec := admin:database-field("myField", fn:true() )
  let $config := admin:database-add-field($config, $databaseID, $fieldspec)

  return
      admin:database-attach-forest($config, $databaseID,
          xdmp:forest("newForest") )

  (: Attaches "newForest" and adds the field, "myField" to the newly created
     database, "myNewDatabase" :)
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.