* 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
* Expose rawReq.server.endpoint in JS
* Make rawReq.portType enumerable
This is not strictly necessary but we don't gain much from hiding its existence.
* Allow using http: protocol in local requests
This helps distinguishing local request URLs from file paths in ambiguous contexts.
The alternative would require the user to specify the local endpoint but this doesn't work with
sockets (and for non-sockets would incur the penalty of a real network roundtrip).
* Teach Foxx req.makeAbsolute about unix sockets
* Add Foxx socket tests
* Fix codeFrame formatting
Pushing the codeFrame first results in ugly line breaks or extra spaces.
* Include cause in MODULE_FAILURE message
The error is always a wrapper for an underlying cause so it should be easier to determine what caused it.
* Add a codeFrame for failed _install
We normally only want this in dev mode but service CRUD should always provide detailed info.
* Expose codeFrame in Foxx CRUD
The codeFrame can only come from a failed _install, so let's make it visible to Foxx CLI and friends.
* Add codeFrame to runScript
Scripts can also only be executed with access to the Foxx API so we can provide the same info as during CRUD.
* Trim codeFrame fileName to basePath
If we have a basePath, we don't need to expose the full path to the user for the codeFrame to be meaningful.
* Fix getReadableName
Previously 'catch-fire' would become 'Catch Ire'.
* Add to changelog
* added SEARCH keyword
* fixes jslint errors
* add incompatibility notice
* remove VIEW keyword (does not work yet!!)
* add initial support for SEARCH keyword to optimizer rules
* replace FILTER with SEARCH keyword in tests
* removed VIEW keyword, make shell_server_aql tests pass again in single server
* cleanup
* handle SEARCH clause for views
* make SEARCH a non-keyword
* fixed an issue with duplicate variables
* fixed 3 tests
* fix SEARCH statement support for views
* minor refactoring
* fix integration tests
* optimize SEARCH conditions a bit more
* fix jslint error
* fixed wrong comments and typo in class name
* fix documentation
* adjust recovery tests to use SEARCH instead of FILTER
* fix another failing test