* Unbreak aardvark when --foxx.api false
The easiest way to disable the aardvark foxx routes is to just skip the
import and mount altogether. The previous approach caused the service to
throw an error because the module doesn't actually export anything.
There's no need to prevent the export if we just don't import the module
to begin with.
* Add an error code for service api disabled
* Throw an actual error when accessing Foxx API routes
* Throw an error when using legacy Foxx API
There's no easy way to use a catch-all here so disable them one by one. No new routes will be added to this API and it'll go away in 4.0 so there's no risk of forgetting to add the throw-check in new routes.
* Render subnav without delay
The subnav doesn't need the perm check results but we need the subnav to exist so we can populate it in other parts of the app. This fixes the subnav not showing up when reloading certain views (e.g. install service via upload).
* Hide ONLY the Foxx store when it is disabled
We still want to allow installing and upgrading/replacing services. We just don't want to show the store.
* Hide Foxx services in frontend if Foxx API is disabled
* Build aardvark
* fixed typo in disable check, fixed tests
* properly handle shorthand of system analyzer
* don't allow accessing local analyzer from within another database
* ensure local analyzer are not acessible from outside
* fix duplicate ids
* 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
* testing skipSome implementation, default and passThrough
* added simple implementation for default and passthrough skipsome methods
* added skipRows function to enumerate collection executor
* added tests for the enumerate collection skipRows function
* implemented and tested enumeratecollection skipSome
* skipSome tests
* fixed a test, prepared iresearch view exec for skipping
* rm logs
* gcc bug workaround
* changed to original test code as it has been before
* iresearch skipping, added ires skip test
* added index executor skipRows
* added skip blockfetcher, quick exit index
* test
* const dummy and singlerowfetcher skip
* forgot return value
* input wrong initialized
* trying to remove dynamic cast and solve with a different approach
* cleanup
* const skip
* jslint
* Handle skipSome of subqueries correctly
* Removed unused code
* Removed unused member
* Simplified skip variants and enabled IndexExecutor skipping
* A little cleanup, fixed DependencyProxy::skipSome
* Reverted test change
* Tried to make testLimitBlock3 clearer
* Extended test suite
* Bugfix
* Added stats when skipping and fixed a few other things
* Bugfixes
* Moar bugfixes
* Update arangod/Aql/IResearchViewExecutor.cpp
Co-Authored-By: hkernbach <hkernbach@users.noreply.github.com>
* Update arangod/Aql/IndexExecutor.cpp
Co-Authored-By: hkernbach <hkernbach@users.noreply.github.com>
* Update arangod/Aql/IndexExecutor.cpp
Co-Authored-By: hkernbach <hkernbach@users.noreply.github.com>
* applied requested changes
* Fixed a bug in LimitExecutor::expectedNumberOfRows()
* Fix skipSome in catch test RowFetcherHelper
* Fixed a bug in the tests
* Two bugfixes in LimitExecutor::expectedNumberOfRows
* Avoid passing large batch sizes from skipSome to getSome
* Fixed Windows compile errors
* Fixed a skip bug with WAITING in unsorting gather blocks
* Make aql-skipping find some cluster bugs, like the last commit
* Bugfix and additional asserts
* Fixed skipSome counting in IndexExecutor
* Resolved merge conflicts
* allow 3.4 behaviour regarding aggregate collect and undefined variable
* added test to check undefined var
* rm print
* remove duplicate doCopyRow
* wrongly removed due merge
* initialize _allowSourceRowUninitialized always as false as default
* try to fix another case
* added missing parenthesis
* optimized if, also added compiler hint