1
0
Fork 0
Commit Graph

41 Commits

Author SHA1 Message Date
Jan 05bcb3d7d1
Bug fix 3.4/streaming cursors v8 issues (#8080) 2019-01-31 17:25:28 +01:00
Frank Celler 9477af198b big reformat 2018-12-26 00:57:05 +01:00
Dan Larkin-York 00c060c884 [3.4] Fix end condition (hasMore) for EnumerateViewNode. (#7278)
* Fix end condition (hasMore) for EnumerateViewNode.

* Fix crashes.

* Some more fixes.

* eliminate code duplication
2018-11-27 00:41:29 +03:00
Jan 5022ccc24d
Bug fix/fixes 2508 (#6254) 2018-08-27 21:36:39 +02:00
Simon fc204a2b3e fix profiling code (#6190) 2018-08-20 12:59:07 +02:00
Jan a5bb50b0bf
remove methods from VelocyPackHelper that are also in VPackSlice (#5946) 2018-07-25 09:01:29 +02:00
Tobias Gödderz fc3e11dbbc Async AQL (#5806)
* Modified header to new initializeCursor API

* Adapted initializeCursor to DONE/WAITING API. Compiles but not tested and no one reacts to WAITING state, it is not returned anywhere yet

* Subqueries now expect a WAITING return from initilize cursor. However they will just return a nullptr and pretend the query is empty, this will be fixed later

* First attempt to simulate thread waiting over information within the query

* Small fix to allow for isDirect handlers to go to sleep.

* Waiting in the necessary places now for the async request to be send.

* Thank you auto-casting compiler, you are totally right i absolutely wanted to use this bool value as an index in may Array. How could i possibly not want to use it here?

* Include cond-var header

* Fixed mutex/cond_var usage

* Added oldAPI wrappers in AQL Blocks for get/skip some variants. This Commit compiles but is NOT tested

* Let getSome now return unique_ptr of AqlItemsBlocks. Also implemented the async variant of getSome in subqueries.

* Removed all references to OLD implementations in AQL. only the base wrappers are allowed to call OLD functions from now on. Now the testing part starts

* Fixed endless virtual recursion

* Implemented new getOrSkip API in SortBlock

* Implemented new getOrSkip API in LimitBlock

* Initilaize all variables

* Fixed logic bug in SubqueryBlock

* getBlock in ExecutionBlock now returns a state. All blocks need to handle this properly!

* Createad a wrapper getBlockOld that servers the old sync api and is used now in AQL. To be replaced overtime.

* Added IndexBlock::skipSome and IndexBlock::getSome

* getBlock now returns its old return value along with the state

* Switch from getBlockOld to getBlock in IndexBlock::skipSome

* Switch from getBlockOld to getBlock in IndexBlock::getSome

* ShortestPathBlock::skipSome is not implemented! Added a regression test

* Attempt to fix SubQueryResult memory management

* Fixed LIMIT Block

* Moved from ShortestPathBlock::getSomeOld to ::getSome

* Implemented ASYNC api on SingletonBlock

* Adapted EnumerateCollectionBlock to new async API

* Fixed FilterBlock and adapted return block to async API

* Adapted NORESULTS block to async AQL api.

* Adapted Modification Blocks to async API

* Fixed some initialize cursor functions to reset values required during get/skipSome

* First steps to adapt ClusterNodes to Async AQL api. Not there yet, need to implement the core still

* Added asnyc implementation for xxxForShard in ClusterBlocks. This commit changes internal logic of _doneForShard. Needs additional testing as soon as everything is in place.

* Adapted CalculationBlock to async API

* Adapted TraversalBlocks to ASYNC Aql. This is not optimal yet, we need a better decission if we are DONE or not on RETURN

* Adapted EnumerateListBlock to Async AQL api

* Adapted RemoteBlock to ASYNC API in getSome/skipSome. The whole thing is now LIVE in the cluster. Exetensive testing to be started now

* Fixed IndexBlock WAITING behaviour if Waiting occurs during a index processing

* Adapted IReasearchViewBlock to ASYNC AQL API

* Fixed SortingGatherBlock in WAITING state.

* Adapted IResearch ExecutionBlockMock to Async API

* Unified the HASMORE/DONE distinction. Code is much more readable now and harder to get incorrect 👍

* Implemented tonly heoretically reachable function of non void function.

* Fixed last commit

* Added inline TODO comments

* fix warning

* Fixed a clearing logic bug in RemoveNodes

* Fixed Error Handling in RemoteBlocks. Also fixed a logic bug (true/false simply has a 50% chance of getting it wrong) in Distribute and Scatter.

* remove unused methods

* Fixed failure test

* implement skipping

* Moved the Query Waiting out of the ExecutionEngine.

* changed one of the collect blocks

* Removed _upstreamState from ExecutionBlockMock, that is in the base-class now

* Added a Test Mock for a an ExecutionBlock that simulates the WAITING/HASMORE/DONE api.

* do not check "hasMore" if not necessary

* Added DistinctCollectBlock::getOrSkipSome from ~Old and changed its return type

(still uses getBlockOld)

* Save state to resume in DistinctCollectBlock::getOrSkipSome

* Extracted redundant code

* fixed some ops

* added one more test

* fix endless blocking

* fix compile error

* fix test

* Refactored HashedCollectBlock::getOrSkipSome

* Return blocks to the manager

* Replaced usage of getBlockOld in HashedCollectBlock::getOrSkipSome

* remove unused shutdown calls, simplify ownership for expressions

* Removed superfluous variable

* Capture const variable by value

* Removed SortedCollectBlock::getOrSkipSomeOld in favour of getOrSkipSome

* Added a working version of SortedCollectBlock::getOrSkipSome

Has yet to be cleaned up

* Removed isTotalAggregation special treatment

* On no input, return a group of nulls (instead of no group at all)

* Bugfixes

* Simplified code

* Move return to the end, eliminate duplicate code

* Corrected skipped count in HashedCollectBlock

* Aligned getNextRow() implementations

* Added comments

* some cleanup

* fix potential memleak

* Bugfix

* Fixed failure tests

* Removed usage of getBlockOld in ExecutionBlock::getOrSkipSome

* Replaced hasMore with an async implementation (mostly)

* Removed getBlockOld()

* Added hasMoreState to the AQL API (and renamed hasMore methods to hasMoreState)

* RemoteBlock now uses the async hasMoreState route

* remove job queue

* options

* Bugfixes in the async implementation of LimitBlock

* LimitBlock::getOrSkipSome now always skips when calculating the fullcount

* fix compile warnings

* restrict threads

* Fixed api of Waiting ExecBlockMock. Unused yet

* Made SortedGatherBlock async-capable

* Removed nonEmptyIndex hack

* Removed duplicate traceGetSome~ calls, moved all to getSome

* Added asserts before replacing getNr*Registers

* Added a TODO note and a comment

* Removed getSomeWithoutRegisterClearoutOld()

* Removed skip()

* Removed common code by using getNr*Registers()

* Use getNr*Registers() in the TraversalBlock as well

* started to add lane

* started to add lane

* added lane

* completed lane

* removed debug output

* fixed merge

* Began working on a test suite for AQL tracing/profiling

* Added more tests and asserts in aql-profiler

* Made some ExecutionBlocks final

* Added a type enum to all blocks and the per-block stats

* Add block type to stats nodes when tracing AQL on block level

* Removed initializeCursor call from instantiateFromPlan

* Avoided additional getSome calls after DONE

* Added more profiler tests

* Refactored ExecutionBlock::getOrSkipSome and fixed two bugs

- set _upstreamState also when skipping
- explicitly use xecutionBlock::getHasMoreState()

* Bugfix: update state

* Reuse parent _skipped wherever possible; rename where not (LimitBlock)

* Simplified SortedCollectBlock::getOrSkipSome and reused general pattern & code

* Implemented missing virtual function (with USE_FAILURE)

* Reset neccessary values during initializeCursor

* Simplified code in EnumerateListBlock a little

* Added a test for DistinctCollectBlock in aql-profiler

* Avoid redundant getSome calls in DistinctCollectBlock

* fix compilation

* Fixed DistinctCollectBlock profiler test

* Added a second profiler test for the DistinctCollectBlock

* Added a profiler test for EnumerateCollectionBlock

* Bugfix in EnumerateListBlock

* added --server.fifoN-size

* Simplified EnumerateCollectionBlock::getSome

* Simplified EnumerateCollectionBlock::getSome, and return HASMORE less often when DONE

* Fix testEnumerateCollectionBlock1 for mmfiles

* do not pass by reference

* Fixed compile error

* fixed merge conflicts

* Added profiler tests for EnumerateCollectionBlock

* Test fix for mmfiles

* Fixed IResearch tests

* Bugfix in DistinctCollectBlock and a regression test

* Updated comment

* Bugfix for query statistics in cluster

* Check plan in distinct test

* Fix aql-profiler tests in cluster

* Removed unused line / bugfix for single server test runs

* This commit implements waking up of AQL queries. (#5651)

* Non-compiling intermediate commit for handover.

* Make branch compile again

* Started implementation of continueable rest cursor handler by moving the callbacks to the outer part. This is not yet fully tested!

* Made finalizeExecute noexcept. We cannot react to this errors as the response was potentially written before. Also introduced continueExecution in the RestHandler engine.

* First successful query wakeup.

* The wakeup callback now posts on the scheduler directly. A resthandler only needs to provide a callback that encapsulates the continueExecution call on this handler

* renamed finalizeExecute to shutdownExecute

* Added a differentiation between Handler and Callback in Query continuation. Handler will be posted in IO service. Callback will be executed directly

* fix audit log

* Removed callback from deleteQueryCursor. This cannot be waiting

* use CONDITION_LOCKER

* removed yet another thread-local variable

* Fixed forward declaration

* Made RestAqlHandler repeatable

* Use defer to close the query in RestAqlHandler. Now waiting will close the query as well.

* Added a mutex in the RestHandlers to make sure if the callback over network is too fast that there is only one Thread running in the RestHandler

* Captured the GeneralCommTask if it is posted to a RestHandler. This is necessary in the PAUSED case

* Refactoring of _noLockHeader responsibilities. Now the BaseHandler selects them and resets them after it is done. Only Coordinators are allowed to define them if a query is loaded.

* Removed reaction to existing nolockheaders in Coordinator Query Planning Phase

* Removed incorrect assertion.

* Further refactoring of NoLockHeaders. Now there is a wrapper class around it which allows for debugging and logging. The state now seems to be better. Also all non-rest-handler triggered queries clean up the NoLockHeaders properly.

* Fixed UserManager, now deletes nolock headers properly

* Swing to the Symphony of Destruction

* Forgot about community build...

* Fixed compiling of Catch tests

* Fixed community build

* need thread for size

* Made the restSimpleHndler repeatable

* Implemented dump and dumpSync in Cursors, Sync will block a thread, dump allows to wait, only relevant for Streaming cursor

* Reactivated StreamingCursors

* Removed debug output.

* Fixed false query continuation

* Reset thread output to non-debug

* Added missing return statements

* Allow some CollectionMethods to hand-in a context that may contain a transaction. This is meant to honor nolock headers.

* Fixed hidden merge conflict

* Bugfix in aql-profiler.js: use plan.nodes order, not stats

* Added two profiler tests for filter

* Avoid too many getBlock calls in the FilterBlock

* Removed debug output

* RemoteBlock API will now send a done(bool) flag whenever we request documents from remote Servers. It is possible that we are DONE and have a result. The pre 3.4.0 API uses exhausted which is exclusive to a result. This API is still implemented for beckwards compatibility.

* Implemented an executeSync function in AqlQuery. This will block the thread until query execution is complete

* Added another test for FILTER, and one test for the HashedCollectBlock

* Added more tests for HashedCollectBlock; avoid unneccessary getSome calls

* Added an profiler IndexBlock test

* IndexBlock: avoid redundant getSome calls, added missing traceGetSomeEnd calls

* Added a second test profiling IndexBlock

* Added a third test for IndexBlock

* Moved general code to module

* Moved noncluster tests into a separate file

* Split aql-profiler testsuite into three files

* Added profiler tests for LimitBlock

* Added a test for NoResultsBlock

* Added profiler tests for TraversalBlock

* Shutdown of an AQL query is now asynchronous. However in Error-Cases it will be executed in a blocking way still

* Optimized TraversalBlock getSome calls due to new (nightly) test results

* Fixed std::min calls I broke

* Let shutdown calls in AQL wait, if the query is executed successfully.

* Fixed queryResult going out of scope

* fix compile error through merge conflict with devel

* Fixed compiler warning "mismatching tags"

* Removed debug log output

* Added TODO notes

* Fixed test fail due to devel merge

* Fixed some invalid sync waiting implementations

* Added a profiler test for SortBlock

* Added profiler tests for SortedCollectBlock

* Fixed bug introduced by devel merge

* Fixed Remoteblocks ignoring errors!

* Added some more continue Callbacks in used places. And removed debug log

* Removed debug log output

* Suppress clang warnings

* Bugfix: use of invalid stack pointer

* Bugfix: RemoteBlock::shutdown now sends code as int, not string

* Revert "Suppress clang warnings"

This reverts commit 05591649c59743c992edd5e78814edc8ca2a83e0.

* Bugfix: cleanup state in RemoteBlock ::shutdown, ::getSome and ::skipSome

* Bugfix in Subquery shutdown: don't skip subquery shutdown when main query shutdown failed

* Allow copy elision
2018-07-09 14:24:10 +02:00
jsteemann 27e985d5d0 safer casts for ExecutionNode types 2018-05-10 20:08:37 +02:00
Jan 5105e2b3c0
Remove "atLeast" from the internal query APIs (#4848) 2018-03-21 09:10:28 +01:00
Jan 67e7e4181e
Bug fix/remove v8 executor (#4756) 2018-03-13 10:41:02 +01:00
Jan 3cf03cfb21
Feature/cleanup internal (#4680) 2018-02-27 14:53:31 +01:00
Jan d82a9e94cf
remove old, potentially unsafe ScopeGuard implementation (#4576)
use TRI_DEFER instead so there are less variants
2018-02-13 18:13:02 +01:00
Jan Christoph Uhde c8300db459 Improve error handling and tracing of getSome (#4123) 2018-01-03 16:01:36 +01:00
Simon Grätzer 7c31960cf2 Feature/async failover (#3451) 2017-10-18 23:59:29 +02:00
Jan b9d48a4304 use forwarding to build AqlValues in place (#3238) 2017-09-15 14:30:40 +02:00
Frank Celler 6d08d4f4aa Bug fix/scheduler delete (#3077)
* removed delete call

* cleanup

* lower cpu activity of log thread too

* fix log messages

* do not enter threads into unordered_set, as it is unneeded

* do not compile in calls to disabled plan cache

* moved AQL regex cache from thread local variables to a class of its own

* more sensible thread creation and destruction
2017-08-25 12:00:17 +02:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
jsteemann d49c5c3fc0 simplified internal APIs a bit 2017-02-15 12:42:07 +01:00
jsteemann df3a3eff9f refactoring 2017-02-15 10:26:05 +01:00
jsteemann b96897e296 fixed some issues detected by coverity build tool 2016-12-12 15:41:54 +01:00
Max Neunhoeffer 14d8d35fd9 Put tracing of AQL queries in.
Use by setting { tracing: 1} (only calls) or { tracing: 2} (with
result) into 4th argument of db._query
2016-10-19 11:36:29 +02:00
Frank Celler eed90fc588 fixed cppcheck warnings 2016-09-09 15:08:48 +02:00
jsteemann 1cfee8059a remove TRI_json_t remainders 2016-08-18 16:13:52 +02:00
Michael Hackstein 832d2a94f3 Squashed commit of the following:
commit 6b5b1fc821f304ce0445220bbf781060bd2995af
Merge: c987b9f 1754e78
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 12:55:24 2016 +0200

    Merge branch 'AQL_GRAPHICATION' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit c987b9f71f75a95a45a32d5cb15ed5570b2ff938
Merge: c4437e2 274cfeb
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 12:55:07 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 1754e78736bf3f93c32b0c7c4a5d5569f3c834d9
Author: jsteemann <jan@arangodb.com>
Date:   Tue Jun 7 12:01:24 2016 +0200

    fixed leaks

commit 6f8be7707623c10b1365d12db61011f73ca3e36a
Author: jsteemann <jan@arangodb.com>
Date:   Tue Jun 7 11:53:58 2016 +0200

    don't emit "expected" errors

commit c4437e29c72a54f46942c616447ddee377cce478
Merge: e567d81 f4e2ead
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 11:40:53 2016 +0200

    Merge branch 'AQL_GRAPHICATION' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit e567d810b2ff624fc4acc8c12948cd89b4592b8d
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 11:40:44 2016 +0200

    Removed now unused SHORTEST_PATH code. Use the AQL Node instead.

commit f4e2eadbf03fecf7d0f0aa699caaf1198ca79443
Merge: 3d24da5 52f20f8
Author: jsteemann <jan@arangodb.com>
Date:   Tue Jun 7 11:30:40 2016 +0200

    Merge branch 'AQL_GRAPHICATION' of https://github.com/arangodb/arangodb into AQL_GRAPHICATION

commit 3d24da5b0060025ae7c133600bfae40b11c6ed70
Author: jsteemann <jan@arangodb.com>
Date:   Tue Jun 7 11:30:25 2016 +0200

    simplify initialize()

commit 52f20f842dd966b046e428eb08429f036240e112
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 11:04:08 2016 +0200

    Removed an unused ClusterComm->drop

commit c4bc6fa53340ab9de39bb0ef2d573ca77197c580
Author: jsteemann <jan@arangodb.com>
Date:   Tue Jun 7 11:00:36 2016 +0200

    do not show "expected" errors on shutdown

commit 50c170737311ae031addec8fb251cd5c1a2fbf5b
Merge: 7da771b 0141cdd
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 11:00:34 2016 +0200

    Merge branch 'AQL_GRAPHICATION' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 7da771bb2bc3daa6c332507e021d37f536d17080
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 10:59:55 2016 +0200

    Fixed VertexUniqueness::PATH in cluster Traverser. And Fixed global edge Uniqueness in cluster.

commit 0141cdd1ca929f14ac5d66a2fcf6da5faf7b0e7f
Author: jsteemann <jan@arangodb.com>
Date:   Tue Jun 7 10:30:16 2016 +0200

    pass by const reference, not by copying

commit 8b96da25cdbee4a8a6508470500ae19a8ddbc129
Merge: 7b79575 d87aa2b
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 09:07:30 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 7b79575a28871307f25284e1b9141a684ecc5b23
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Jun 7 09:04:45 2016 +0200

    Attempt to improve getFilteredEdges in cluster.

commit 963e93e4f00afedeaa5fc960d629a6ea7e62f0ed
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 17:05:23 2016 +0200

    Fixed cloning of ShortestPathNode. Also fixed explainer to display Shortest Path Node.

commit 884df03a15ca936367bc79fdf339f633ae6d88a5
Merge: 3a28e21 2477077
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 16:10:10 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 3a28e210cc6e6097febd7fb0629723ee38dced48
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 16:09:56 2016 +0200

    Now allow to stringify the name of SHORTEST_PATH_NODE.

commit f3898a0a4bb37af46de50a740f43f4e00076c9fb
Merge: a284d2f 7574e60
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 16:03:11 2016 +0200

    Merge branch 'AQL_GRAPHICATION' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 7574e6005a3b377f23180d1a4ff1d07262576144
Author: jsteemann <jan@arangodb.com>
Date:   Mon Jun 6 16:01:35 2016 +0200

    attempt to init remote blocks in AQL queries

commit a284d2f4803371e2f43af28b36ca77c9d7722f8a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 15:37:38 2016 +0200

    Added ShortestPathNode as TypeName

commit 6a283fad9469622d1b6f5a955b17a98861ff839c
Merge: cfaf2c0 d54030e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 13:38:57 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit cfaf2c06885aa65b5289e2b8c3866bcf791989f8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 11:33:37 2016 +0200

    Fixed Path Uniqueness of vertices in local case

commit 372298c78732dcdf936e3796287d2f7d3c10e3a8
Merge: d55fe00 442c7d0
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 11:32:29 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit d55fe0074f78d0cd567ca1c8d8873f06aba3855f
Merge: 3179c30 9e3c9e3
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 10:50:26 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 3179c30b068ac384fa8d7723dac95d2ba5731949
Merge: 20bca1c 9fa9d49
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 10:50:09 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 20bca1c25956789f695765aab498112776296e71
Merge: 4f148ba e843719
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Jun 6 09:32:41 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 4f148baafef979a61d8d195b6bed7cdea058ff2e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Jun 3 16:33:23 2016 +0200

    Fixed vertex uniqueness in Cluster case. Still fails in single though

commit 533be3b15c4d2899c1c287cc6f5224260210c7d2
Merge: fc3d65e a3032db
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Jun 3 13:58:50 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit fc3d65ebf529344e8870898efb1ec965a88ee106
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Jun 3 13:33:47 2016 +0200

    Replaced callback function in PathEnumerator to get Vertices by a real struct, due to issue with virtual function.

commit cac533bbaf195eb1bad5e9428402e3aeb895551f
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 2 18:06:38 2016 +0200

    Fixed Namespace issue. was okay for clang but not for g++

commit 4f046ad5d43a5654c8e9e35dc178d325588a8f4e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 2 17:56:28 2016 +0200

    Fixed memmory issues for ShortestPath in cluster. Seems to be working now. Let full test run start.

commit f8ace613fefaefd5236e0fae47a98c13baff5b77
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 2 15:20:46 2016 +0200

    First Implementation of ShortestPath in cluster. Seems to be working with default weight but not with attribute-based weight.

commit 49ddf78902f2c814c6dddccc1d4fef7318eeb098
Merge: 31b81f3 b469cea
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Jun 2 09:17:53 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 31b81f39530138204bd2f2f9bae33f81a7948cd5
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 17:50:54 2016 +0200

    Unified the shortest Path finders. The shortest path block now directly creates a finder and reuses it throughout the AQL. It does not go via V8Traverser any more. Next Step: Expander Functions for cluster ShortestPath.

commit db402142e4f664f9997853c9f77b60a5d30fa7c6
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 14:40:58 2016 +0200

    Removed _api/graph test. The _api/graph does not exist any more

commit a481570346935be11553047f40957e1cf719a9de
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 14:40:06 2016 +0200

    Fixed inconsistency in RocksDB functions.

commit 2dc6811f9b7632ab12f7a534e7bb8673cfaed526
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 14:39:37 2016 +0200

    Fixed all tests after removing blueprints module

commit e2d68832e6744b6c11d8b5ecd24f50892aafd0f0
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 11:43:38 2016 +0200

    Removed all libraries for the deprecated graph-blueprints module. They can all be replaced by general graphs now. The have been deprecated since 2.4

commit 51330ea34c117e2ed19dc3dd249f460dbb75b281
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 10:38:15 2016 +0200

    Fixed DISTANCE_TO and SHORTEST_PATH in general-graph module. It was not moved to AQL only yet.

commit c876fe736306f0bac1655e37ed6acf75976ac1ec
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 09:22:19 2016 +0200

    Removed now obsolete graph AQL JS code.

commit 18891b346dcd519486c0540bc68b05b2359caf43
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Jun 1 09:20:54 2016 +0200

    Replaced GRAPH_ECCENTRICITY by a call in the general graph module and relaced all it's tests.

commit 06371d4d2fbd8e77e0caed82d595f250835a909b
Merge: d17c3c7 8dde0e8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 31 18:44:03 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit d17c3c7d927abba24beffde6da2990e095d4b1c3
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 31 18:29:01 2016 +0200

    Removed BETWEENNESS and ABSOLUTE_BETWEENNESS from AQL and moved it to the general-graph module.

commit efa566ba99394eb2367fe7734fe09868302b5c14
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 27 14:11:22 2016 +0200

    Removed GRAPH_CLOSENESS from AQL and Tests. Reimplemented it in general-graph module instead

commit 0eff3d38947627414972603d95e36ed6beb7a8de
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 27 12:28:57 2016 +0200

    Entirely removed GRAPH_ABSOLUTE_CLOSENESS from AQL. general_graph still offers _absoluteCloseness(). Now general_graph also offers _farness() which is identical and the correct academic name for the result of this function. Also tests are adopted.

commit b3e7678343c380cceb5ae71bca3071ce855baf9e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 27 11:10:50 2016 +0200

    Removed ABSOLUTE_ECCENTRICITY function from AQL Executor and deleted the JS code for it

commit 904527ce53475485ff1a89f51991a6781573d97a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 27 10:57:13 2016 +0200

    Reimplemented ABSOLUTE_ECCENTRICITY as AQL only variant.

commit 42a5230b6fabf14ced7a51636a7342a52504a32d
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 27 10:56:37 2016 +0200

    Reactivated bi-directional search in ShortestPath. Was deactivated by accident and algorithm is only correct if activated.

commit 9d61dfd18e1cdb900c39f9bc6d2bb7466a86c7d7
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 25 16:25:35 2016 +0200

    Entirely removed GRAPH_RADIUS from AQL. Moved tests to general-graph module _radius() function. Same for _diameter.

commit 4a8e51483e292b501d1d2ad9983513bc99312bef
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 25 14:52:53 2016 +0200

    Replaced call of _diameter with a new AQL query not using the deleted GRAPH_DIAMETER function

commit 15fc45e438515980ea39d711fcfca5edd78a5bea
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 25 13:05:39 2016 +0200

    Entirely removed GRAPH_DISTANCE_TO from AQL

commit bdaa20cff54170abdcd2f9ec4d246765151d71e5
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 25 12:55:20 2016 +0200

    Implemented all functions in the ShortestPathNode it is now clone-able and serves estimates. Also added Flags for ShortestPath and Traversal in the JSON representation.

commit ae6c922f56c4498aaaba7f76ffb37a0560ca1476
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 17:09:15 2016 +0200

    Removed debug output in test

commit dce2ea1e2f1c5244c26bb9fa3b783454aa4e8163
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 17:07:12 2016 +0200

    Removed GRAPH_DISTANCE_TO from test. It was identical to SHORTEST_PATH anyways...

commit c4b48bc9457fd7112feb96f9e619568ad79d29ec
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 17:00:12 2016 +0200

    Removed GRAPH_SHORTEST_PATH from stresstest and brute test

commit 87a0b725d1cef05473eff0a2b48c3ac52a549192
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 16:57:52 2016 +0200

    Removed SHORTEST_PATH and GRAPH_SHORTEST_PATH from Tests. Replaced them by there new IN DIRECTION SHORTEST_PATH equivalent.

commit 72c3cbf69dcf6aa4f167d77b29271e217ce0e2bc
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 16:55:50 2016 +0200

    Removed SHORTEST_PATH and GRAPH_SHORTEST_PATH from AQL Executor.

commit 6499ca12802f45f69e30e09fbbcebdcbca88deaa
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 14:17:35 2016 +0200

    Shortest Path now honors a distance attribute. Basic AQL graph tests are green yay ;). Now former general-graph tests are next.

commit 316280400585d9af5e09f4365c39fe80423d9eef
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 09:48:21 2016 +0200

    Fixed variable usage in Shortest Path. However now it does not terminate

commit 84359e3223cbf01b283b9bda2f6de8b367df236e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 09:17:46 2016 +0200

    Shortest Path now correctly rejects invalid start nodes

commit c8a831e0d6b95445ea3cd276d0c0c0ad2ceb4901
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 24 09:13:06 2016 +0200

    Fixed a bug with autocasting to bool where it was not expected

commit 0300e1b4aa120fc04db7da620a905ed86bedd068
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 23 18:08:29 2016 +0200

    First shortest-path runs are successful. First tests are getting green again. Make Tests Green Again

commit d593f3317e8578e307c2246e65d3452d78cf043e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 23 15:58:22 2016 +0200

    Added reading of start and target vertex in ShortestPath Block.

commit 46ce5b7a3cf6abb4a01d8e004b34ad2118573430
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 23 15:23:25 2016 +0200

    Fixed Constructor variable ordering

commit 23d666d929bdf84c302fe4729faeab2ab77886b8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 23 15:20:44 2016 +0200

    Added the required parameters and implementation to return the result in ShortestPathBlock. Tests still RED
    . Next actually compute the path

commit 015da1ccdf50ca1123d600ac4b1afb460ad2b2dc
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon May 23 13:32:42 2016 +0200

    Prepared the ShortestPathFinder to get injected the result container instead of creating it's own one. Deactivated parts of the OLD api, shall be deleted soon.

commit bd72afa565ecaea38a4979180d4aadc0edbf52d7
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 20 15:40:56 2016 +0200

    Added infrastructure for new Shortest Path Node in AQL. It is not Functional yet and will throw errors. Tests are RED

commit 15b76dc27c118f60ee58cf2154ba84ee1311f8e7
Merge: 625e305 893802e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 20 15:38:51 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 625e305ca163fcbe928e5353bd06f4232664a0ee
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 16:23:14 2016 +0200

    Activated the AQL syntax for new non function SHORTEST_PATH in AQL. Also adapted One test file for new Syntax. However the feature is NOT implement at this point. Some Tests are RED

commit a935e9d9f962a2bcb6fdeed5facec2486ab4dc06
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 12:49:18 2016 +0200

    Removed _paths test. It does not exist any more

commit 1c182858a4d9427b0be9ec5749b587e40f804386
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 12:47:06 2016 +0200

    Fixed AQL_GRAPH tests

commit 5cd4e79ab77123db322defc5dd2f9417bc99e80e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 11:42:47 2016 +0200

    Fixed all tests in aql-general-graph

commit a8ddd72ffa2ee29d085ea4c5002190149200a3b8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 11:39:24 2016 +0200

    Removed GRAPH_COMMON_PROPERTIES from tests and AQL.

commit 4c0be7fdd3d610a2196aec3e93338bf3851f3606
Merge: 98e270e 7ca4d39
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 11:17:59 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 98e270e47a1f85df47c54e4461457bdb10331696
Merge: ff177cc 1f9f46b
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 19 09:35:15 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit ff177ccf47cda7778212621df7b512c8a6a859ee
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 18:04:36 2016 +0200

    Removed PATHS() from AQL and tests. It can be replaced by Path Pattern Matching.

commit e568d5966e516c1bc6be9da79b01fd740bf2c4ff
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 17:38:49 2016 +0200

    Removed GRAPH_PATHS from Tests and from AQL. It is easily replaceable by Pattern Matching.

commit 107b2890397b4076042dc9b08ea2a7c1ab7f0284
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 16:59:36 2016 +0200

    Removed GRAPH_COMMON_NEIGHBORS from aql.js

commit dd7f6b4b68099c9c861b05dd2506cbd0f8b9c22d
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 16:54:39 2016 +0200

    Fixed some COMMON_NEIGHBORS transformation. Uniqueness is not guarenteed accross start vertices. It was with GRAPH_COMMON_NEIGHBORS.

commit 863a2e3b4728add2bad088c021d3bcf54ec6f569
Merge: 9a940aa 0064e25
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 15:19:40 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 9a940aa8d8d9c74d26b819d54d743c369dcfa350
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 11:07:12 2016 +0200

    Added a new uniqness version for vertices. Not complete yet

commit 8c3db5519ff85b13a24c326c5982102226272635
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 18 09:13:03 2016 +0200

    Replaced GRAPH_COMMON_NEIGHBORS with their new equivalent in AQL in the tests.

commit 7c9782900d798019965c4ab685c24d624dd53238
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 16:35:32 2016 +0200

    AQL does not export GRAPH_NEIGHBORS any more

commit e23c3f2b9993d62290da7966419b58e9d391efe2
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 16:35:06 2016 +0200

    Replaced vertexUniqueness with uniqueVertices and edgeUniqueness with uniqueEdges as proposed in the preliminary documentation document.

commit b589f6c1113f5e02016eac0a49c0b5ea9f42620e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 15:28:53 2016 +0200

    Removed GRAPH_NEIGHBORS from Tests and replaced them by their corresponding AQL equivalent. Only two of them are red because uniqueness is not correct yet.

commit 0bc36996429493e9ceadcb3ea82a126f2cfa66fa
Merge: 9d0473a 39083cb
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 12:48:25 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 9d0473aeada534cd47e99dab3ceae4f91ed4ebbb
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 12:48:13 2016 +0200

    Implemented base version of vertex Uniqueness in AQL traversal. Single Server only.

commit 980fd6aaa09666dbe55e3811fb6430d49bfd5a1a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 11:02:24 2016 +0200

    Edge Uniqueness levels also implemented in Cluster Case. Not yet tested due to errors in the agancy right now.

commit 73e3bf1da26afbdf0dffe815629003364e2469c4
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 10:57:51 2016 +0200

    Implemented all levels of edgeUniqueness in local Traversal case.

commit 2aba559e8db4ab7ac4d297590723277bd9a305cd
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 10:42:54 2016 +0200

    Now the options test actually checks for correctness of result.

commit 2b36bf92f3cf8ff6d0bc80079fddfebf36c1df92
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 10:38:01 2016 +0200

    Started Adding tests for OPTIONS in AQL Traversal

commit 86874ae290da2ba39e5cd42ec5ddaab0487091b2
Merge: f182f24 f6b7bd2
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 17 10:37:30 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit f182f244fdc38c6648fc5527a518ab41e73c6865
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri May 13 09:45:14 2016 +0200

    Typo fix

commit 15b63ef8a2c9b02af5917634319a5a461905402a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 17:29:06 2016 +0200

    AQL Traverser now reacts to option: edgeUniqueness (NONE or PATH). Test yet missing.

commit 1ebd4abd45e085679eb3ef24b6cff6d6debe4f0a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 15:34:03 2016 +0200

    Added infrastructure to insert OPTIONS into AQL Traversals. Right now they are only parsed not used.

commit 5440118412b43024beb451e47cc59e33591dbf84
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 13:29:51 2016 +0200

    Removed NEIGHBORS() from tests and replaced them by new syntax. Tests are RED.

commit 9fc6ec448d970b27cda16abc7f51217d8e2ba3de
Merge: 8084e28 07aa8b4
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 11:31:43 2016 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into AQL_GRAPHICATION

commit 8084e2804d4e4c537c9c7719303362b08e2fe0bc
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 11:30:09 2016 +0200

    Started Moving NEIGHBORS => AQL PPM. Test is RED.

commit afda95eb59b97f43b2b3ad891bb404d69ca5414e
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 10:55:42 2016 +0200

    Removed GRAPH_EDGES from AQL.

commit 3766babe444781555f5373287aa98f45b7a32406
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu May 12 10:53:20 2016 +0200

    Removed the old Graph Datasource from Traversals. Only the newer generalGraph is available.

commit 6ace9c992d3d06c5cb9c9e24c117e821412f63f1
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 11 16:31:42 2016 +0200

    Removed _getConnectingEdges from Test. Is not supported any more.

commit fbd28aae6f11782e34fcfb51887c89c878705f0a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 11 14:55:03 2016 +0200

    Removed GRAPH_EDGES from AQL tests

commit e032683ccf79f185808bfadc154b587af39b5818
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 11 12:42:06 2016 +0200

    Removed EDGES function from AQL.

commit 42b2c31d1eddb6b2790d21d6aedfeb6c3892919f
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 11 11:10:08 2016 +0200

    Replaced EDGES() in Tests by the new corresponding usage of Path Pattern Matching

commit 110d1b497f7df4b94709bfd2149c72dbf4f28e8c
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed May 11 11:08:09 2016 +0200

    Fixed minor bugs in Cluster Path Pattern Matching. It did not react properly on Invalid user input.

commit 8f47a3a01c0928825c13ceba5f60c3e1fe5e4691
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue May 10 17:13:33 2016 +0200

    Removed unused AST reference in Index Lookups for Ast Conditions
2016-06-07 13:58:21 +02:00
Jan Steemann fb723c3c24 fixed crash 2016-05-06 13:59:24 +02:00
jsteemann 4a7c9f0f68 simplified bloated comments 2016-04-09 11:27:30 +02:00
Jan Steemann 80413739d1 fixed test 2016-03-22 14:34:18 +01:00
Jan Steemann ba91761a66 fix resetting of cursors 2016-03-11 17:56:23 +01:00
Jan Steemann da691ed39c fixed memory issues 2016-03-11 12:44:38 +01:00
Jan Steemann beb132b466 AqlValue refactoring 2016-03-10 18:24:12 +01:00
Jan Steemann b55b5d7386 AqlValue refactoring 2016-03-09 17:50:20 +01:00
Jan Steemann e946729306 aqlvalue$ 2016-03-08 18:52:34 +01:00
Jan Steemann 0496f99b21 expression now using VelocyPack 2016-03-08 13:03:03 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 842384016d namespace cleanup 2016-01-21 00:20:22 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
jsteemann 2ae325fd4e removed some of those "using namespace" directives 2016-01-14 23:21:39 +01:00
Jan Steemann 3ad20c0cae auto-generated headers 2016-01-06 18:41:51 +01:00
Jan Steemann a3b026d9d1 removed useless sections from code, unified include guards 2016-01-06 14:15:22 +01:00
Jan Steemann f422576ee0 clang-format 2016-01-05 17:43:24 +01:00
Jan Steemann afb342eefd split big ExecutionBlock file into smaller files 2015-08-27 00:28:20 +02:00