1
0
Fork 0
arangodb/API-Changes-3.0.md

2.2 KiB

ArangoDB API changes for Version 3.0

Overview

Breaking changes to existing API:

  1. Cap-constraints are withdrawn

  2. first() and last() are withdrawn

    .first() and .last() are withdrawn

  3. Automatic creation of collections with first use

  4. Pre Version 1.4 API compatibility withdrawn

  5. Query-parameters "policy" and "rev" withdrawn in replace()/update()

  6. /_api/edge withdrawn

New capabilities:

  1. Babies for document queries.

  2. _from and _to in edges can be changed.

  3. _key, _from, _to can be indexed like normal attributes.

Explanations

Breaking changes

  1. Cap-constraints are withdrawn

    For 3.1 we plan to implement full MVCC and then at the latest it is no longer well-defined what a cap constraint means. Furthermore, in cluster mode it is really hard to implement as defined.

  2. .first() and .last() are withdrawn

    Harmonization between single server and cluster. Cluster implementation would be very difficult and inefficient. Even the single server implementation simplifies without this (one doubly linked list less) and saves memory.

  3. Automatic creation of collections with first use

    Never worked in cluster, harmonization between single server and cluster, In cluster would be undefined, since number of shards, shard keys, replication factor and replication quorum would not be specified.

  4. Pre Version 1.4 API compatibility withdrawn

  5. Query-parameters "policy" and "rev" withdrawn in PUT /_api/document/

    "policy" was non-sensical (just do not specify "rev")

  6. /_api/edge withdrawn

    Works now all over /_api/document This is much cleaner and one can use the new baby-capabilities for edges. Less code, drivers can be adjusted relatively easily by switching to /_api/document.

New capabilities:

  1. Babies for document queries.

    Higher performance, necessary for synchronous replication, good for clean API abstraction for transactions.

  2. _from and _to in edges can be changed.

    Comes with the VelocyPack change.

  3. _key, _from, _to can be indexed like normal attributes.

    Comes with the VelocyPack change.