1
0
Fork 0
Commit Graph

109 Commits

Author SHA1 Message Date
Michael Hackstein 7aea35e444 Fixed a bug when using a skiplist index in traversals like: [a, unused, _from]. If unused is not part of the condition the traverser ran into undef behaviour. 2016-11-29 10:01:34 +01:00
jsteemann fcacd76bca display index usage of traversals in AQL explainer output (previously missing) 2016-11-10 12:49:02 +01:00
Jan Steemann f0f90bc914 small fixes for traversal explain output 2016-11-08 16:08:58 +01:00
Michael Hackstein 69ebf08abe Fixed creation of SmartCollections with correct directions. 2016-10-10 17:49:01 +02:00
Michael Hackstein 9a91e410c2 Fixed a bug with the direction and isSmart check for traverser 2016-10-05 15:26:06 +02:00
Michael Hackstein 1830ea683e Now the traverser is able to work with SmartCollections without Graphs. 2016-10-05 14:47:18 +02:00
Michael Hackstein 1025fbd772 Patched TraversalNode to be able to execute smart searches on EdgeCollections only. 2016-10-04 13:09:54 +02:00
Max Neunhoeffer 37159a2d6c Fix enterprise version for non-smart and single server graph traversals. 2016-09-30 13:02:58 +02:00
Michael Hackstein af623854fa Fixed Smart graph injection of collections. 2016-09-29 14:01:18 +02:00
Max Neunhoeffer 154e3c86fc Add support in AQL for smart edge collections in traversals. 2016-09-29 10:57:49 +02:00
Michael Hackstein c6cd5574b1 Removed a graph optimization which increased the minDepth if a filter is defined on a higher depth. Under some circumstances this filter can be matched if the path is not long enough. 2016-09-14 10:23:34 +02:00
Michael Hackstein fcdaee7c5d Merge branch 'devel' of github.com:arangodb/arangodb into devel 2016-09-13 14:43:34 +02:00
Michael Hackstein 74500ee693 The TraversalNode in AQL now can enhance the TraverserEngine information. 2016-09-13 14:43:25 +02:00
jsteemann 467f260400 fix compile warning 2016-09-13 12:10:06 +02:00
Michael Hackstein 9497ae9ec8 Improved shutdown process of Graph Traverser Engines. This state causes a double free. Merge commit. 2016-09-08 09:09:59 +02:00
Mark c366fa55e3 Merge branch 'generic-col-types' of https://github.com/arangodb/arangodb into generic-col-types 2016-09-07 14:53:06 +02:00
Mark 4fb57e4c27 fixed compile errors (visual studio) 2016-09-07 14:52:52 +02:00
Michael Hackstein 08428fcb5f Added a special handling for EDGE_INDEX ... again ... Fixes crash in 9cd3b7a4f5. 2016-09-07 14:03:55 +02:00
Michael Hackstein 9cd3b7a4f5 Modified interna of LookupInfo used in traverser. It should now properly name the attribute that has to be adjusted with new _from / _to values. However this is a bug somewhere still. This commit crashes. 2016-09-07 13:37:57 +02:00
jsteemann 733de3b5f0 initialize some pointer variables 2016-09-06 14:47:09 +02:00
Michael Hackstein e22014a272 Merge branch 'MIT' of github.com:arangodb/arangodb into generic-col-types 2016-09-06 09:33:23 +02:00
jsteemann 4839d65b36 moved things out of TRI_collection_t 2016-09-02 11:56:48 +02:00
jsteemann c6efe26198 cppcheck 2016-08-25 14:04:23 +02:00
jsteemann 5f06a5c025 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-23 12:13:08 +02:00
Jan Steemann 57fa55921c fix execution of AQL traversal expressions when there are multiple conditions that refer to variables set outside the traversal 2016-08-23 10:48:08 +02:00
jsteemann 1cfee8059a remove TRI_json_t remainders 2016-08-18 16:13:52 +02:00
Michael Hackstein e8ff84c8da cppcheck fixes and dead code cleanup. 2016-08-11 11:15:38 +02:00
Michael Hackstein 3a95244599 Fixed ALL== and NONE== tests for graph traversals. SingleServer and cluster 2016-08-10 17:10:25 +02:00
Michael Hackstein 773e9971b7 First draft of optimization ALL== NONE==. Not yet complete. 2016-08-10 14:05:25 +02:00
Michael Hackstein cb48f04cf7 Removed 'THROW' from destructor 2016-08-05 11:20:21 +02:00
Michael Hackstein 92342f3bed Fixed cloning of TraversalNodes. It now maintains the list of collections 2016-08-04 14:14:53 +02:00
Michael Hackstein 0867e2bb55 The TraversalNode now takes responsibility to clean up traversal engines on DBServers. 2016-08-02 14:05:35 +02:00
Michael Hackstein 07a9924354 Added vertex collections to traversal node in GRAPH case. Also fixed a bug in TravOption serialisation. 2016-08-01 16:51:38 +02:00
Michael Hackstein f663f5da69 Fixed a bug with ANY when copying the plan 2016-08-01 16:08:16 +02:00
Michael Hackstein c6b7a703db Firstattempt to implemenet correct locking in Cluster Traversal. It is not yet fully connected to execution plan. 2016-08-01 15:36:11 +02:00
Michael Hackstein 5ee93a8d6c Fixed responsibility for Traversal Options. Now the TraversalNode is always responsible for all options and has to free them. All others just use these. In Cluster case each DBServer get's it's own TraverserEngine which is initialized with a copy of the Options. 2016-07-29 17:07:40 +02:00
Michael Hackstein 207d978afc Internal cleanup. Moved traversal options to a central place and removed the AQL-only version which was mostly redundant. This is preperation for Cluster initialisation. 2016-07-29 14:46:11 +02:00
Michael Hackstein 64d7f690da Removed AqlTransaction wherever possible. Added an InjectTransaction for the aql query, used by TraverserEngine. Also fixed TraverserEngine from/to velocypack functions. 2016-07-28 17:05:00 +02:00
jsteemann 89e0c11b44 refactoring 2016-07-26 16:25:38 +02:00
Michael Hackstein 990a0dddff Finally variables can be used in path based filtering again. They are evaluated once before the execution starts (for every start vertex) 2016-07-25 17:38:52 +02:00
Michael Hackstein 2d22afd4ea Fixed tests in Traversal. SingleServer all simple conditions are working and optimized. It does not yet work if one of the conditions requires v8 or a Variable. 2016-07-25 09:49:48 +02:00
Michael Hackstein 6fcad1f39a Fixes in newest Traversal implementation. The new conditions are now actually executed correctly. Most tests green, one suite still fails. 2016-07-22 15:19:38 +02:00
Michael Hackstein 9b43dd30f0 Traversals now use Expressions to execute filter conditions. Right now V8 based conditions are non-functional. Also AqlValues do not work with base type of Transactions and do not need AqlTransactions. And so do expressions. Also allowed NARY_AND/NARY_OR in Expression nodes to be evaluated. 2016-07-21 16:38:32 +02:00
Michael Hackstein fff0ee4b38 Fixed access to Index Iterator in Traversal. Also fixed Path Edge Uniqueness check. Still todo: Evaluate conditions on edges / vertices that are not covered by index. Cluster 2016-07-20 17:40:12 +02:00
Michael Hackstein b166c031ab Fixed TraversalNode -> Json -> Node path. 2016-07-20 11:42:33 +02:00
Michael Hackstein ee4bbc5bf4 First Traversal over non edge Index. Yay. Still extremly Fragile and most tests fill fail. Cluster non functional. 2016-07-19 15:03:44 +02:00
Michael Hackstein aa1dc2a083 Intermediate State: Moved Traversals to use Slices above Strings to compare. Also Preperation to use different indexes. This state compiles but is not functional. 2016-07-19 10:54:37 +02:00
Michael Hackstein 5b1e1b7496 Now the Traverser Node figures out the correct index handle. Next Up: SingleServerTraverser needs to use indexScan for this condition. Traversal Still out of function. 2016-07-15 17:14:03 +02:00
Michael Hackstein 36d579e20e Started rebuilding the traversal Condition. About to delete the TraverserExpression and entirely replacing it by AQL-Conditions. NOTE: This commit is not functional 2016-07-15 11:15:17 +02:00
Michael Hackstein 248b8884bd Added a helper function that can rewrite a path matching condition to use a temporary variable instead of p.*. Used for optimization of FILTERS. 2016-07-13 16:34:28 +02:00