* Some refactoring to implement helper methods iff necessary
* Updated comments
* Added static assertions
* Re-enabled check for maintainer mode
* Allow pass-through for LimitExecutor. This is not yet working with fullCount correctly!
* Get fullCount before returning the last row
* Adapted fullCount tests: LimitExecutor doesn't lie about the state of the last row anymore
* Use correct row
* Handle LimitExecutor-stats during fetchBlockForPassthrough
* Fixed LimitExecutorTest
* Removed _stats member
* Added more catch tests
* Bugfix for fullStats
* Removed an erroneous assertion
* Implemented LimitExecutor::skipRows
* Avoid name clash of class enum member to please MSVC
* Test MSVC
* Revert "Test MSVC"
This reverts commit d8325d95318bb83b79c8c4cc9f886d36e484c870.
* CREATE_NEW seems to be taken, too. Next try for MSVC
* Built VPack to ItemBlock helpers, and made SingleRowFetcherHelper more general
* Removed ostream operator because MSVC doesn't like it...
* Implemented SingleRowFetcherHelper::fetchBlockForPassthrough, plus a small framework to test executors
* Removed erroneous include
* Moved code in separate files
* Began writing the extended schema of runExecutor
* Added output operator for ExecutorCall
* Fixed removeWaiting
* Fixed expected output
* Added skipRows to runExecutor
* Added two tests
* Allow empty blocks
* Added two more tests
* Added another test
* Built two different parametrized classes for LimitExecutor
* Some cleanup
* Even more tests
* Fixed a bug found by the new tests
* Fix compile error on windows
* Use native matrix representation in tests
* Updated some comments
* 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
* Removed useless parameters of buildCallback
* Renamed produceRow to produceRows and adapted a comment
* Renamed BlockFetcher to DependencyProxy
* Applied git-clang-format
* Added RemoteExecutor skeleton
* Moved RemoteBlock implementations to ExecutionBlockImpl<RemoteExecutor>
* Remove unnecessary include to avoid unused function warnings
* Fixed gcc compile error
* Moved Scatter/Distribute block implementations to their new Executor versions
* Applied clang-format
* Added factory, infos and a skeleton for the unordered view executor
* Removed assert based on wrong assumption
* Added members from IResearchViewBlockBase to IResearchViewExecutor
* Moved more code into the ViewExecutor, hopefully enough to produce a working version now
* Added missing reset code, made produceRow work mostly correct
* Removed superfluous parentheses to get more useful output from Catch
* Ported fix 923b6e81ac723d1fe37f8e7bf1ab81149f3a08ef
Original commit message was:
Fixed a race condition in RemoteBlock which was triggered during
shutdown overtaking getSome.
* Applied review comments
* Inject input row instead of an item block + pos into the expression context, plus fixed some tests
* Adapted test. Search tests are now green.
* Do not ask upstream when already DONE
* Removed `limit` from next()
* Simplified code that could handle producing more than one document
* Minor readability change
* Solved two TODOs noted in the review
* Removed leftover references to DistributeNode members in the DistributeBlock
* Reverted removal of "exhausted"
* WIP: Implemented variant with scorers
* Fixed compile errors of the last commit
* Fixed some asserts and calculations
* Fixed violated assertions
* Moved files from IResearch/ to Aql/
* Replaced recursive call with a loop
* Worked on a few TODOs
* Removed IResearchViewBlock
* Set input registers correctly
* Eliminated dependency to the Node in the Executor
* Don't misuse the volatility variables for initialization
* Extended a TODO note
* Removed obsolete includes
* Removed an obsolete include from the tests
* Added missing include
* Read PKs in batches
* Fixed merge conflict
* Fixed merge conflict
* Restrict prefetching of PKs to the number of rows in the current output block
* Fixed merge
* Fix IResearch ASan errors
* Revert "Restrict prefetching of PKs to the number of rows in the current output block"
This reverts commit e0fd8698a3.
* Revert "Read PKs in batches"
This reverts commit c06c4d7a36.
* Began some small step refactoring to introduce batch-reading correctly
* Extracted method fillBuffer
* Extracted method evaluateScores
* Minor changes
* Read data from iresearch index in batches
* Replaced std::deque<IndexResult> buffer by a new class
* Solved minor TODOs
* Fixed last commit
* Fixed merge conflict
* Removed accidentally re-added view blocks
* Implemented SharedAqlItemBlockPtr
* Replaced all AqlItemBlockShell, shared_ptr<AqlItemBlock>, unique_ptr<AqlItemBlock> with SharedAqlItemBlockPtr
* Removed AqlItemBlockShell
* Bugfixes
* Added missing noexcept (used in returnBlock())
* Added nullptr constructor/operator= and noexcept specs
* Removed references to the shell
* Implemented review comments
* Fixed a compile error clang somehow ignored
* Two bugfixes and additional asserts
* Fixed ASan error
* protected AqlItemBlock destructor, and some cleanup
* added SharedAqlItemBlockPtr include in QueryCursor.h
* Added some asserts
* Fixed merge conflicts
* protected returnBlock in AqlItemBlockManager