Skip to content

Latest commit

 

History

History
81 lines (56 loc) · 3.82 KB

CHANGELOG.md

File metadata and controls

81 lines (56 loc) · 3.82 KB

main

  • Refactoring BatchDatabase API

    • The batch API is deprecated since ArangoDB 3.8.0 and will be removed in a future version.
    • The BatchDatabase is still available, but it now uses a TreadPoolExecutor internally.
    • For backwards compatibility, the BatchDatabase uses only one worker thread, essentially sending the requests sequentially. Feel free to set the max_workers parameter to a higher value if you want to use multiple threads, but be aware that the requests will be sent in parallel, which may cause problems if you are using transactions.
    • To discourage the use of this API, we now issue a warning when the BatchDatabase is used.

    Note that {"foo": "bar"} may be inserted after {"foo": "baz"} in the following example:

    with db.begin_batch_execution(max_workers=2) as batch_db:
        job1 = batch_db.collection.insert({"foo": "bar"})
        job2 = batch_db.collection.insert({"foo": "baz"})

7.6.2

  • Fix: build_filter_conditions utils method

7.6.1

  • [DE-542] Added shards() method to Collection by @apetenchea in #274
  • [DE-584] Refactor deprecated /_api/simple methods by @aMahanna in #275
  • Added raise_on_document_error parameter to Collection.update_many() by @aMahanna in #273
  • Added computed_values parameter to Collection.onfigure() by @aMahanna in #268
  • Various bug fixes

7.6.0

  • [DE-562] Index Cache Refilling by @apetenchea in #259

  • [DE-554] serverId query param (GET/PUT /_admin/log/level) by @aMahanna in #262

  • [DE-545] UTF-8 names by @apetenchea in #260

  • [DE-566] geo_s2 analyzer test case by @aMahanna in #263

  • Fix python-arango Client (de)serialization by @geenen124 in #264

  • Fix request_timeout typing by @aMahanna in #265

  • Added new per-operation option refillIndexCache to write operations:

    • single-document write operations (insert, replace, update, delete)
    • multi-document write operations (insert_many, replace_many, update_many, delete_many)

    If the option is set to True, new entries are added to in-memory index caches if document operations affect the edge index or cache-enabled persistent indexes. Every currently running transaction will keep track of which in-memory index cache entries were invalidated by the transaction, and will try to (re-)fill them later.

    Example:

    collection.insert({"foo": "bar"}, refillIndexCaches=True)
    db.aql.execute("INSERT {foo: bar} INTO collection OPTIONS { refillIndexCaches: true }")

7.5.9

  • Added cache and primaryKeyCache parameters to the inverted index API.

  • Added allow_retry query parameter, making it possible to retry fetching the latest batch from a cursor.

  • Added OverloadControlDatabase, enabling the client to react effectively to potential server overloads.

  • The db.version() now has a new optional parameter "details" that can be used to return additional information about the server version. The default is still false, so the old behavior is preserved.

  • Added peak_memory_usage as a new property of AQL queries, available since ArangoDB 3.11.

  • The explain method of AQL queries includes the "stats" field in the returned object. Note that the REST API returns it separately from the "plan" field, but for now we have to merge them together to ensure backward compatibility.