* allow to access last operation tick of the transaction
* modify IResearchLink to rely on last commtted tick
* get rid of writing arangosearch markers to WAL
* further implementation
* local changes in iresearch
* add recovery states
* properly handle link creation during recovery
* adjust test cases
* properly handle nested transactions
* ungreylist recovery tests
* add more recovery tests
* do not use transaction to pass recovery tick
* do not store recoveryTick in MMFilesRecoveryState
* adjust tests
* fix mmfiles
* cleanup
* add context validity check
* fix tests
* fix more tests
* ensure subscription is not being released during commit
* address review comment
* final cleanup
* fix crash
* fix tests
* address test failures
* address review comments
* address review comments
* properly set recovery tick even if no recovery happened
# Conflicts:
# arangod/IResearch/IResearchLink.cpp
* start maintenance arangosearch threads after recovery is done
* ensure flush subscription is not being deallocated while in use
* add some tests
* properly determine storage engine
* adjust default view options
* stick to old index meta format in 3.5
* address test failures
* and cluster tests
* ensure flush subscriptions are being unsubscribed
* update tick even if no changes happened
* remove debug output
* fix test
* address review comments
* address test failures
* move IResearchViewSort into separate unit
* ensure sort is propagated to IResearchLink
* update iresearch and extend some tests
* implement insertion of sorted values, store value comparator in link
* add tests for VPackComparer
* minor cleanup
* fix issue with sort definiton propagation
* propagate error message from index factory
* add integration tests for sorted indexes, single server
* initial implementation of IResearchViewMergeExecutor
* move iresearch::VPackComparer to separate translation unit
* store collection in IndexReadBuffer for IResearchViewMergeExecutor
* set primary sort from optimizer rule
* add some tests for sorted view case
* extend IResearchViewNode tests
* simplify primary sort definition
* pretty print order condition covered by arangosearch in query explanation
* fix compilation with g++-8
* address catch test failures
* fix tests
* adjust arangosearch optimizer rule to optimize sort in case of cluster
* make tests for sorted indexes work in cluster too
* fix tests
* extend js tests for sorted indices
* fix keyword in query explainer
* ensure sort-limit rule works with views
* backport ngram analyzer fix from upstream
* address jslint errors
* modify IResearchViewSort to support boolean direction specification format
* add some tests
* add tests
* add skip functionality
* extend tests
* add more catch tests
* inline some methods
* address jslint errors
* extend catch tests to reproduce the failure
* add some tests for check fullcount
* add more tests
* extend tests
* temporarily comment out broken tests
* extend js tests
* address review comments
* address jslint errors
* update iresearch
* issue 535.1: ensure recovery success if link recovery starts right at the previous marker
* backport: initialize members
* backport: use string_ref instead if string copies
* issue 526.3: update analyzer feature to store analyzer definitions in per-vocbase system collections
* address merge issues
* address another merge issue
* update iresearch
* add index encryption support
* update iresearch
* encrypt ArangoSearch index using rocksdb encryption provider
* fix merge issue
* update iresearch
* fix cmake
* minor fixes after update
* update iresearch
* partially revert changes from commit 492d05c1f1 since they cause iresearch configuration failures
* Update arangod/IResearch/IResearchRocksDBLink.cpp
Co-Authored-By: gnusi <gnusmas@kvolitek.ru>
* partially revert changes from commit 492d05c1f1 since they cause iresearch configuration failures
* fix cmake configuration for MAX
* another attempt to fix cmake on mac
* Fix 3rdparty cmake for Windows
* issue 466.4: implement persistence of IResearchLink WAL flush marker
* address enterprise test failure
* address test failures
* treat missing collections/indexes as potentially removed
* change view asertios to match collection assertions
* convert assertions to exceptions since they are possible
* revert assertion removal since assertions are actually valid for coordinator
* address scenario where link is dropped twice
* check for data store state before returning error
* revert last change since it's not valid for MMFiles
* issue 511.9.1: track DataSource instance instead of only its name in QueryCache
* address use of invalid function
* fix expected test result
* address merge issue
* issue 511.6: update iresearch to 6e870904eae5eaf891359ed06e7332666c02cb19
* backport: add back required MSVC command replacement
* try to address MSVC link issues
* backport: move post-build step into a separate custom target
* another attempt to address cmake build issues
* issue 511.5: remove cid from IResearchPrimaryKey since iresearch data-stores are per-collction, minr code cleanup
* get rid of CID field in a document
* make ArangoSearch PK encoding/decoding logic explicit
* issue 511.4: ensure IResearchLink can be initialized without view as required for db-server, minor code fixes and cleanup
* remove unnessesary checks
* revert last change due to test failures
* fix typo in change revert
* try to address random test failures
* issue 496.5: minor API cleanup and error reportin enhancements, update iresearch to commit d69f7bd184e009da7bf0a478efd34a0c85b74291
* add workaround for shell-collection-rocksdb-noncluster.js::testSystemSpecial test failure
* fix typo
* issue 496.3: move more coordinator-related logic out of TRI_vocbase_t, rename some arangosearch view configuration parameters, remove some consolidation policies, update iresearch to revision 6fd9760d81b136f769e277ea5b8f53996ed7a1ca
* address potential deadlock between link creation and FlushThread
* remove code causing nullptr access
* add back lock around reader reopen
* revert: address potential deadlock between link creation and FlushThread
* invalidate payload for each field in FieldIterator before setting a value
* issue 496.1: switch scope of responsibility between a TRI_vocbase_t and a LogicalView in respect to view creation/deletion
* backport: address test failures
* backport: ensure arangosearch links get exported in the dump
* backport: ensure view is created during restore on the coordinator
* Updates for ArangoSearch DDL tests, IResearchView unregistration and known issues
* Add fix for internal issue 483