1
0
Fork 0
Commit Graph

22 Commits

Author SHA1 Message Date
Jan 0e97f322e5
activate early pruning (#10308) 2019-10-28 14:22:33 +01:00
Jan 6f14048bbe
implement early pruning of documents in EnumerateCollectionExecutor (#10159) 2019-10-05 13:38:23 +02:00
Tobias Gödderz 4ec4218213 Replace union by separate members (#10168) 2019-10-04 17:38:29 +02:00
Markus Pfeiffer fc634a2fa0 Replace template <bool blockPassthrough> (#10127)
* Replace template <bool blockPassthrough>

by template <BlockPassthrough blockPassthrough> where BlockPassthrough is an
enum class.

This is mainly for better readability and for some type safety.

* Fixup some implicit conversions to bool
2019-10-02 09:47:09 +02:00
Tobias Gödderz 5e8bdcbc24 Add definitions for static variables in Executor::Properties (#10093) 2019-09-26 14:48:29 +02:00
Tobias Gödderz 82b0a5e745 De-inline in AQL (#10025)
* 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
2019-09-25 11:20:03 +02:00
Jan 5572675106
Bug fix/remove base directory from include path (#9885) 2019-09-04 17:39:01 +02:00
Jan 6ffb6067fb
slightly reorder boolean members to reduce struct sizes (#9762) 2019-08-20 18:28:09 +02:00
Tobias Gödderz c9fa5fba11 Additional AQL skipSome tests for IndexExecutor (#8938)
* Began work on additional index skipSome tests

* Added more index skip tests
2019-05-16 11:30:24 +02:00
Wilfried Goesgens 1907a7211b Bug fix/cleanup system includes (#8962) 2019-05-15 15:12:59 +02:00
Vasiliy 12bd4c785b issue 555.1.1: issue 555.1.1: try loading previous data store snapshots if checkpoint file unavailable, ehnace error message, address some warnings (#8975) 2019-05-13 18:33:44 +03:00
Jan 162bcd205c
Bug fix/fix velocypack error (#8954) 2019-05-09 19:38:00 +02:00
Heiko 58db1023f3 Feature/aql skip some (#8771)
* 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
2019-05-08 15:02:43 +02:00
Tobias Gödderz 20236845e2 Improve document callback performance (#8874)
* Experimental: avoid nested callback

* Still experimental: get rid of more nested callbacks

* Bugfix: count number of documents read correctly

* Rebuild callbacks whenever necessary

* Fixed now dissalowed call.

* Nono rebuild callback refactoring

* Fixed local tests.

* Fixed false compiler warning.

* Use tag dispatching, thanks for the suggestion @mpoeter.
2019-05-07 19:57:24 +02:00
Tobias Gödderz 79461852b5 Create a context for the DocumentProducingFunction callbacks (#8852)
* Create a context for the DocumentProducingFunction callbacks

* Save heap allocation for outer callbacks, too
2019-04-26 09:14:32 +02:00
Tobias Gödderz 6dfb9995b4 Feature/aql by line cleanup (#8848)
* Removed useless parameters of buildCallback

* Renamed produceRow to produceRows and adapted a comment

* Renamed BlockFetcher to DependencyProxy

* Applied git-clang-format
2019-04-25 15:51:11 +02:00
Tobias Gödderz 1bf19cdc91 Read docs in EnumerateCollection in batches (#8823)
* Read docs in EnumerateCollection in batches

* Read docs in IndexExecutor in batches

* Fixed stats with batching

* Fixed a bug in RocksDBPrimaryIndexRangeIterator::nextCovering
2019-04-25 11:56:19 +02:00
Tobias Gödderz a16d5afb33 Added custom initializeCursor implementations for Index and EnumerateCollection (#8828)
* Added custom initializeCursor implementations for Index and EnumerateCollection

* Replace queue with deque to allow clear()

* Replaced queue member calls

* Fixed MSVC++ and C++14 compatibility
2019-04-24 10:41:49 +02:00
Heiko 066ed742af Bug fix/aql line cleanup (#8598) 2019-04-04 15:57:41 +02:00
Tobias Gödderz 8d649903f7 Aql by line mixed fixes (#8349) 2019-03-14 19:38:41 +01:00
Jan 9d3327c6ea
Bug fix/rearm cursors (#8363) 2019-03-12 15:28:33 +01:00
Heiko 658623934c Feature/aql index executor (#8146)
Moved Index Block to Index Executor
2019-02-21 11:19:57 +01:00