2.3 KiB
Incompatible changes in ArangoDB 3.4
It is recommended to check the following list of incompatible changes before upgrading to ArangoDB 3.4, and adjust any client programs if necessary.
The following incompatible changes have been made in ArangoDB 3.4:
Geo-Index
-
The RocksDB on-disk storage format for indexes with type
geo
has changed (also affectsgeo1
andgeo2
indexes). This requires users to start the arangod process with the--database.auto-upgrade true
option to allow arangodb to recreate these indexes with the new on-disk format. -
Geo-Indexes will now reported themselves no longer as geo1 or geo2 but with type
geo
. The two previously known geo-index types (geo1
andgeo2
) are deprecated. APIs to create indexes (ArangoCollection.ensureIndex
) will continue to supportgeo1
andgeo2
.
Client tools
HTTP API
-
GET /_api/aqlfunction
was migrated to match the general structure of ArangoDB Replies. It now returns an object with a "result" attribute that contains the list of available AQL user functions:{ "code": 200, "error": false, "result": [ { "name": "UnitTests::mytest1", "code": "function () { return 1; }", "isDeterministic": false } ] }
In previous versions, this REST API returned only the list of available AQL user functions on the top level of the response. Each AQL user function description now also contains the 'isDeterministic' attribute.
-
POST /_api/aqlfunction
now includes an "isNewlyCreated" attribute that indicates if a new function was created or if an existing one was replaced (in addition to the "code" attribute, which remains 200 for replacement and 201 for creation):{ "code": "201", "error": false, "isNewlyCreated": true }
-
DELETE /_api/aqlfunction
now returns the number of deleted functions:{ "code": 200, "error": false, "deletedCount": 10 }
Miscellaneous
AQL Functions
- CALL / APPLY
- may emmit
ERROR_QUERY_FUNCTION_NAME_UNKNOWN
orERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH
instead ofERROR_QUERY_FUNCTION_NOT_FOUND
in some situations. - are now able to be invoked recursive
- may emmit