mirror of https://gitee.com/bigwinds/arangodb
removed now unneeded API-changes document
This commit is contained in:
parent
2ec333a5ea
commit
7d4599a056
|
@ -1,153 +0,0 @@
|
||||||
ArangoDB API changes for Version 3.0
|
|
||||||
====================================
|
|
||||||
|
|
||||||
Overview
|
|
||||||
--------
|
|
||||||
|
|
||||||
### Breaking changes to existing API:
|
|
||||||
|
|
||||||
1. Cap-constraints are withdrawn
|
|
||||||
|
|
||||||
2. first() and last() are withdrawn
|
|
||||||
|
|
||||||
<collection>.first() and <collection>.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
|
|
||||||
use /_api/document instead
|
|
||||||
Attributes `_from` and `_to` for edges must be passed inside the
|
|
||||||
document body and not as URL parameters `from` and `to`
|
|
||||||
|
|
||||||
7. <collection>.BY_EXAMPLE_HASH , <collection>.BY_EXAMPLE_SKIPLIST,
|
|
||||||
<collection>.BY_CONDITION_SKIPLIST deleted.
|
|
||||||
SimpleQuery.byCondition withdrawn.
|
|
||||||
|
|
||||||
8. `arangodump` arguments `translateIDs`, `failOnUnknown` withdrawn.
|
|
||||||
|
|
||||||
9. <collection>.exists now throws an error if there is a revision
|
|
||||||
conflict
|
|
||||||
|
|
||||||
10. replacing an edge in an edge collection now requires the specification
|
|
||||||
of both the `_from` and `_to` attributes. In 2.8 it was not required
|
|
||||||
to specify `_from` and `_to` when replacing an edge.
|
|
||||||
|
|
||||||
11. /_api/collection/figures will not return the following result attributes:
|
|
||||||
- shapefiles.count
|
|
||||||
- shapes.fileSize
|
|
||||||
- shapes.count
|
|
||||||
- shapes.size
|
|
||||||
- attributes.count
|
|
||||||
- attributes.size
|
|
||||||
|
|
||||||
12. the `checksum` attribute returned by GET /_api/collection/<collection>/figures
|
|
||||||
now is returned as a string value. It was returned as a number value in previous
|
|
||||||
versions. Additionally the checksum calculation algorithm was changed in 3.0,
|
|
||||||
so 3.0 will create different checksums than previous versions for the same data.
|
|
||||||
|
|
||||||
13. the HTTP API for modifying documents (/_api/document) does not return the `error`
|
|
||||||
attribute with a value of `false` in case an operation succeeds.
|
|
||||||
|
|
||||||
14. calling either collection.edges(), collection.outEdges(), collection.inEdges()
|
|
||||||
with an array of edge ids will now make the edge ids unique before returning the
|
|
||||||
connected edges. This is probably desired anyway, as results will be returned only
|
|
||||||
once per distinct input edge id. However, it may break client applications that
|
|
||||||
rely on the old behavior.
|
|
||||||
|
|
||||||
15. the HTTP for "/_api/gharial" now returns 202 (Accepted) instead of 200 (OK) or
|
|
||||||
201 (Created).
|
|
||||||
|
|
||||||
16. the HTTP API for creating documents (/_api/document) no longer supports the
|
|
||||||
createCollection parameter.
|
|
||||||
|
|
||||||
17. GET /_api/document?collection=<name> withdrawn,
|
|
||||||
is now
|
|
||||||
PUT /_api/simple/all-keys with body {"collection":<name>} with same functionality.
|
|
||||||
The type parameter is now an attribute in the body.
|
|
||||||
|
|
||||||
### 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. <collection>.first() and <collection>.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/<id>
|
|
||||||
|
|
||||||
"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.
|
|
||||||
|
|
||||||
7. <collection>.BY_EXAMPLE_HASH , <collection>.BY_EXAMPLE_SKIPLIST,
|
|
||||||
<collection>.BY_CONDITION_SKIPLIST deleted
|
|
||||||
|
|
||||||
These were never documented.
|
|
||||||
|
|
||||||
<collection>.{byExample,byExampleHash,byExampleSkiplist,byConditionSkiplist}
|
|
||||||
are still there and now do AQL internally. byExampleHash and
|
|
||||||
byExampleSkiplist just call byExample.
|
|
||||||
|
|
||||||
SimpleQuery.byCondition withdrawn.
|
|
||||||
|
|
||||||
8. `arangodump` arguments `translateIDs`, `failOnUnknown` withdrawn.
|
|
||||||
|
|
||||||
9. <collection>.exists now throws an error if there is a revision conflict
|
|
||||||
|
|
||||||
With the old behavior (return false) one cannot distinguish whether
|
|
||||||
a document does not exist at all or whether the queries revision is
|
|
||||||
outdated.
|
|
||||||
|
|
||||||
16. createCollection was only supported in single-server, but not in the
|
|
||||||
cluster.
|
|
||||||
|
|
||||||
### 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.
|
|
|
@ -239,7 +239,7 @@ void RestJobHandler::getJobByType(std::string const& type) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
VPackBuilder result;
|
VPackBuilder result;
|
||||||
result.add(VPackValue(VPackValueType::Array));
|
result.openArray();
|
||||||
size_t const n = ids.size();
|
size_t const n = ids.size();
|
||||||
for (size_t i = 0; i < n; ++i) {
|
for (size_t i = 0; i < n; ++i) {
|
||||||
result.add(VPackValue(std::to_string(ids[i])));
|
result.add(VPackValue(std::to_string(ids[i])));
|
||||||
|
|
Loading…
Reference in New Issue