//////////////////////////////////////////////////////////////////////////////// /// @startDocuBlock JSF_put_api_collection_properties /// @brief changes a collection /// /// @RESTHEADER{PUT /_api/collection/{collection-name}/properties, Change properties of a collection} /// /// @RESTURLPARAMETERS /// /// @RESTURLPARAM{collection-name,string,required} /// The name of the collection. /// /// @RESTDESCRIPTION /// Changes the properties of a collection. Expects an object with the /// attribute(s) /// /// - *waitForSync*: If *true* then creating or changing a /// document will wait until the data has been synchronized to disk. /// /// - *journalSize*: The maximal size of a journal or datafile in bytes. /// The value must be at least `1048576` (1 MB). Note that when /// changing the journalSize value, it will only have an effect for /// additional journals or datafiles that are created. Already /// existing journals or datafiles will not be affected. /// /// On success an object with the following attributes is returned: /// /// - *id*: The identifier of the collection. /// /// - *name*: The name of the collection. /// /// - *waitForSync*: The new value. /// /// - *journalSize*: The new value. /// /// - *status*: The status of the collection as number. /// /// - *type*: The collection type. Valid types are: /// - 2: document collection /// - 3: edges collection /// /// - *isSystem*: If *true* then the collection is a system collection. /// /// - *isVolatile*: If *true* then the collection data will be /// kept in memory only and ArangoDB will not write or sync the data /// to disk. /// /// - *doCompact*: Whether or not the collection will be compacted. /// /// - *keyOptions*: JSON object which contains key generation options: /// - *type*: specifies the type of the key generator. The currently /// available generators are *traditional* and *autoincrement*. /// - *allowUserKeys*: if set to *true*, then it is allowed to supply /// own key values in the *_key* attribute of a document. If set to /// *false*, then the key generator is solely responsible for /// generating keys and supplying own key values in the *_key* attribute /// of documents is considered an error. /// /// **Note**: some other collection properties, such as *type*, *isVolatile*, /// *numberOfShards* or *shardKeys* cannot be changed once a collection is /// created. /// /// @RESTRETURNCODES /// /// @RESTRETURNCODE{400} /// If the *collection-name* is missing, then a *HTTP 400* is /// returned. /// /// @RESTRETURNCODE{404} /// If the *collection-name* is unknown, then a *HTTP 404* /// is returned. /// /// @EXAMPLES /// /// @EXAMPLE_ARANGOSH_RUN{RestCollectionIdentifierPropertiesSync} /// var cn = "products"; /// db._drop(cn); /// var coll = db._create(cn, { waitForSync: true }); /// var url = "/_api/collection/"+ coll.name() + "/properties"; /// /// var response = logCurlRequest('PUT', url, {"waitForSync" : true }); /// /// assert(response.code === 200); /// /// logJsonResponse(response); /// db._drop(cn); /// @END_EXAMPLE_ARANGOSH_RUN /// @endDocuBlock ////////////////////////////////////////////////////////////////////////////////