1
0
Fork 0
Commit Graph

43 Commits

Author SHA1 Message Date
Dan Larkin-York 6fd419714f Move containers into their own folder and namespace. (#10244) 2019-10-14 10:55:55 +02:00
Tobias Gödderz 4e86de00d2 AQL Subquery: MultiDependencyRowFetcher (#10101)
Add ShadowRow support for MultiDependencyRowFetcher
2019-10-10 13:08:02 +02:00
Tobias Gödderz e2c84acfaf Use explicit default destructors where possible (#10166) 2019-10-04 15:58:30 +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
Michael Hackstein 265eb1549d
Feature/aql subquery opt shadow row interface (#9987)
* Added first draft of ShadowRow Interface

* Refactored RegisterPlan and pulled it out of the ExecutionNode

* AqlItemBlock now has an additional hidden register to store subquery depth infromation. Right now no shadow rows are created, however thy could now make use of this situation

* Added API and test to insert new shadow rows into an OutputRow.

* Extrated test helper function

* Added API and tests to consume ShadowRows. Interface is there and compiles with templates, we might need to implement further underlying functions later on as we make progress on ShadowRows, it is only implemented in the minimal way (intentionally)

* Added a test for nested ShadowRows and adapted OutputRow accordingly.

* Added additional memory include, seems to be required under GCC not udner CLANG

* it actually helps to save fies before commiting them...

* Fixed serialization/Deserialization of AqlItemBlock to contain the hidden subquery register now

* Added a c++ test for AqlItemBlock. It just covers the basics thus far and needs to be improved.

* Fixed toVPack of AqlInputRow for subqueries. Also added serialization / deserialization tests for AqlItemRow

* Added a c++ test for inputAqlItem row serialization => AqlItemBlock deserialization

* Attempt to fix :windows: compile warning

* Added a serialization format to be backwards compatible to 3.5 whenever AQL item blocks need to be send over to remote nodes.

* Added more tests for serialization of shadow rows, and fixed a bug revealed by this

* Apply suggestions from code review

Thank you for review!

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>

* Review comments. Thanks for spotting

* Fixed hidden merge conflicts

* Attempt to explain windows on how one can actually cast numbers into other number types...

* Update arangod/Aql/AqlItemBlockSerializationFormat.h

Co-Authored-By: Tobias Gödderz <tobias@arangodb.com>
2019-09-24 09:09:52 +02:00
Jan Christoph Uhde 0b8c75c7b7 one shard db - devel (#9395) 2019-09-23 15:48:37 +02:00
Markus Pfeiffer d586ff8e95 Add K_SHORTEST_PATHS handling to optimizer and executor (#8895)
There were a few places where K_SHORTEST_PATHS was not handled. This
commit adds them.
2019-05-07 13:54:35 +02:00
KVS85 2d5bf58c94 Remove USE_IRESEARCH definition and usage (#8613) 2019-03-28 17:23:51 +01:00
Michael Hackstein f1e4f370c3
Feature/aql sorted collect (#8524)
Sorted Collect Executor
2019-03-24 19:51:59 +01:00
Heiko ce51797609 Feature/aql hashed collect (#8337)
Implementation of Hashed Collect Executor
2019-03-21 07:19:26 +01:00
Heiko 06bb099c14 feature/aql count collect executor (#8182)
* added count collect executor
2019-02-21 15:18:53 +01:00
Heiko 924115a5d2 Feature/aql distinct collect executor (#8181)
* init commit

requested changes

added tests

removed old distinct collect block code

distinct exec test

* devel merge and added tests including input data

* added test

* added one more input variable, added another waiting test
2019-02-20 16:17:46 +01:00
Jan 9ce9312239
speed up containers that contain ExecutionNodes' variables (#7937) 2019-01-14 13:38:56 +01:00
Frank Celler ac9f375fb5 big reformat 2018-12-26 00:54:03 +01:00
Jan 5022ccc24d
Bug fix/fixes 2508 (#6254) 2018-08-27 21:36:39 +02:00
Jan 0d48677619
Bug fix/aql optimizer improvements 2308 (#6241) 2018-08-24 13:42:22 +02:00
jsteemann 478dc56104 improve estimate for CollectNode in case it does an aggregation to a single row 2018-08-16 17:37:51 +02:00
Andrey Abramov e117a97fb4
Feature/arangosearch scatter node (#5536)
* remove collection dependency from scatter

* simplify `createBlock` API

* remove useless IResearchViewScatter node

* some fixes

* code cleanup

* scatter arangosearch view

* cleanup

* fix compilation errors

* fix test issues

* store shared_ptr rather than raw pointer in IResearchViewNode

* refactor ScatterBlock

* refactor DistributeBlock

* ensure no leaks during execution node cloning

* some fixes

* code cleanup

* remove vocbase from `DistributeNode`

* add missing ifdef

* fixes after review
2018-06-06 20:42:53 +03:00
Simon 35992ad67b Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
jsteemann ba81e7aa82 remove unnecessary casts 2018-05-11 17:54:36 +02:00
jsteemann 27e985d5d0 safer casts for ExecutionNode types 2018-05-10 20:08:37 +02:00
Jan 9c0460acff
Feature/aql optimizations (#5237) 2018-05-03 16:55:58 +02:00
Wilfried Goesgens 7d6e580780 Refactoring & code cleanup (#5138) (#5142) 2018-04-24 14:42:23 +02:00
Jan 11cfbf5039
Feature/optimize cluster collect (#4897) 2018-04-03 17:28:07 +02:00
Andrey Abramov f6c184df33 Factory method for execution block (#4729) 2018-03-05 15:02:30 +01:00
Jan 2a96df5ca5
Feature iresearch (#4071) 2017-12-18 15:04:59 +01:00
Jan 5abf0c1185 Bug fix/fixes 1511 (#3711) 2017-11-16 14:18:51 +01:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
Jan Christoph Uhde 63fa20fb42 Merge remote-tracking branch 'origin/devel' into obi-velocystream-try-merge-devel
* origin/devel:
  don't leak on help
  Abort compilation process if the cmake configure run fails
  || exit 1
  Handle 503 answer from dbservers properly
  return service unavailable during shutdown
  Add cxgcc snippets
  fix users home directory.
  Fix debian scripted password documentation.
  slighty improved error handling in import API
  fixed issue #2026
  Fix release matching for alpha/beta versions
  We mustn't use minuses in the releases since that will collide later on with packaging.
  Pass arguments along to build.sh
  Fix windows NSIS client package
  fix typo
  - properly use armhf for armv7 packages - specify CPACK_DEBIAN_PACKAGE_ARCHITECTURE so one can cx-compile packages.

Conflicts:
	arangod/Cluster/ClusterComm.cpp
	lib/Rest/FakeRequest.cpp
2016-08-31 15:06:27 +02:00
Jan Steemann b7be5d5cfb fixed issue #2026 2016-08-30 15:14:16 +02:00
jsteemann 1cfee8059a remove TRI_json_t remainders 2016-08-18 16:13:52 +02:00
jsteemann 4a7c9f0f68 simplified bloated comments 2016-04-09 11:27:30 +02:00
Michael Hackstein f32750e1ac Removed obsolete toJson from AQL Nodes 2016-02-16 10:29:38 +01:00
Michael Hackstein f767636f14 Added a toVelocyPack serialisation to all Aql Nodes and their dependencies. Right now in parallel to toJson. 2016-02-16 00:04:32 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
jsteemann 2b8cf7da62 speed up LENGTH() aggregation a bit 2016-01-16 23:53:11 +01:00
jsteemann 4abf96e1db removed special case for COLLECT INTO var = expr 2016-01-16 20:20:44 +01:00
jsteemann 2ae325fd4e removed some of those "using namespace" directives 2016-01-14 23:21:39 +01:00
jsteemann 9a2d9924b9 some bugfixes for aggregators 2016-01-11 23:53:03 +01:00
Jan Steemann 9ee2646b53 aggregators ready for hash-collect 2016-01-11 19:24:53 +01:00
Jan Steemann 1e6a07426c collect refactoring 2016-01-07 14:10:32 +01:00
Jan Steemann ad1163e3bb refactoring for Aql COLLECT 2016-01-07 13:35:12 +01:00