* Enable IPO (LTO) via CMake
* Use separate IPO_ENABLED variable
* Enabled IPO for more binaries
* Enabled IPO for arangobackup
* Suppress an MSVC warning (though it is not unjustified...)
* Fix static builds, broken due to Policy CMP0060 introduced in cmake 3.3
* Removed policies superseded by minimum cmake version
* Disable IPO with google tests due to a g++ bug
* Disable IPO with google tests only on AUTO
* Disable warning for correct line
* Begin de-inlining Aql
* de-inlining Aql: 2nd batch
* de-inlining Aql: 3rd batch
* de-inlining Aql: 4th batch
* Moved code out of ifdef
* Enabled IPO for additional libs
* Fixed some problems found with IPO enabled
- Fixed ODR violation in Pregel
- Removed unused code in ClusterMethods
- Avoid possible uninitialized variable usage
* Set IPO globally, except for 3rdParty libs
* De-inlined AstHelper again (was undone due to a previous merge conflict)
* Added missing .cpp file
* Fixed compilation with MSVC
* Removed superfluous includes from deinlined AQL header files
* Added includes for size_t
* Deleted outdated files
* De-inlined files that were undone during the merge
* Removed includes from files that were undone during merge
* Fixed merge conflicts
* 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
* remove unused functions
* more cleanup, virtual functions
* rm old functions
* more cleanup
* more cleanup, rm unused code
* rm of inheritRegisters and cleaerRegisters
* more cleanup, move functions into IMPL and cluster blocks
* used wrong shutdown function
* rm not reachable code
* moved lots of ExecutionBlock stuff to Impl and ClusterBlocks
* trace functions back to executionblock
* rm trace
* rm empty protected
* this getBlock addition, might be useless
* more fixes
* fixes for the distribute executor, hopefully almost done now
* removed obsolete todos
* shutdown var order
* applied requested changes
* re added const
* suppress a warning
* added forgotten test changes
* default destructor, removed not needed function
* refactor name
* Update tests/CMakeLists.txt
Co-Authored-By: hkernbach <hkernbach@users.noreply.github.com>