1
0
Fork 0
Commit Graph

3419 Commits

Author SHA1 Message Date
Max Neunhoeffer dd8c604dd4 Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2016-10-11 23:26:11 +02:00
Max Neunhoeffer 38240c34d9 Add support for AQL REMOVE for smart edge collections. 2016-10-11 23:21:38 +02:00
jsteemann e4d1349e6f debug output for RestHandlers 2016-10-11 17:51:41 +02:00
Michael Hackstein 69ebf08abe Fixed creation of SmartCollections with correct directions. 2016-10-10 17:49:01 +02:00
Andreas Streichardt e75b8f5503 Implement cURL based inter server communication 2016-10-10 14:56:04 +02:00
Michael Hackstein 64e4ee636d Added an option to serialize Variables in TraverserOptions. 2016-10-10 14:38:55 +02:00
Max Neunhoeffer 5d65b0b206 Revert "Fix return value of local edge write to smart edge collection in AQL."
This reverts commit d163a05e49.
2016-10-10 00:32:36 +02:00
Max Neunhoeffer d163a05e49 Fix return value of local edge write to smart edge collection in AQL. 2016-10-10 00:30:32 +02:00
Max Neunhoeffer 1fed0239f7 Fix writing of edges in AQL to smart edge collections. 2016-10-10 00:25:46 +02:00
Max Neunhoeffer 476856954f Changes necessary for AQL INSERT for smart edge collections. 2016-10-09 23:53:26 +02:00
Max Neunhoeffer c9763a68ee Fix usesDefaultShardKeys. 2016-10-09 23:22:44 +02:00
Max Neunhoeffer f578ee394f Fixes in AQL write code to smart collections. 2016-10-09 11:09:00 +02:00
Max Neunhoeffer 4443038e1b Change collection handling in Ast nodes again. 2016-10-08 00:57:30 +02:00
Max Neunhoeffer f316a9bc4c More changes for AQL writing to smart edge collections. 2016-10-08 00:48:23 +02:00
Max Neunhoeffer b14386c601 Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2016-10-07 21:24:51 +02:00
Max Neunhoeffer 82e548ff8b Change setup of getResponsibleShard w.r.t. collection. 2016-10-07 21:05:18 +02:00
jsteemann 0f49a6d8b7 make sort a bit more clever 2016-10-07 16:09:28 +02:00
Max Neunhoeffer 35cc5734f2 Improve collection handling in AQL (still far from good). 2016-10-07 13:11:53 +02:00
Max Neunhoeffer ecc3b5696e Add planning stage for AQL writing to smart edge colls. 2016-10-07 11:25:23 +02:00
jsteemann ee67d2e0d2 fixed typo in comment 2016-10-07 09:48:17 +02:00
jsteemann d67c6372aa fixed issue #2086 2016-10-06 14:04:15 +02:00
jsteemann c934f8e8dd added AQL function `DISTANCE()` for distance calculations 2016-10-06 12:01:04 +02:00
Jan Steemann d9d6588151 fixed issue #2081 2016-10-05 18:08:50 +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 b5312cd95e arangodb::aql::Collection::shardIds for smart edge colls. 2016-09-30 16:42:05 +02:00
Max Neunhoeffer 5cd913e003 Fix error handling for ClusterInfo::getCollection. 2016-09-30 14:11:46 +02:00
Max Neunhoeffer 37159a2d6c Fix enterprise version for non-smart and single server graph traversals. 2016-09-30 13:02:58 +02:00
Max Neunhoeffer 55802fd0de Fix single server AQL for graph traversals. 2016-09-29 16:38:36 +02:00
Michael Hackstein e92deea80f Merge branch 'devel' of github.com:arangodb/arangodb into devel 2016-09-29 14:01:27 +02:00
Michael Hackstein af623854fa Fixed Smart graph injection of collections. 2016-09-29 14:01:18 +02:00
jsteemann ebbd07a301 fix compile warning 2016-09-29 13:49:39 +02:00
Max Neunhoeffer 944b29c2a2 Make AQL aware of smart traversals for enterprise. 2016-09-29 11:02:57 +02:00
Max Neunhoeffer 154e3c86fc Add support in AQL for smart edge collections in traversals. 2016-09-29 10:57:49 +02:00
jsteemann a45322076a issue #2079 2016-09-27 16:34:39 +02:00
jsteemann bbc0e8940c issue #2071
make the AQL query optimizer inject filter condition expressions referred to by variables during filter condition aggregation
for example, in the following query

    FOR doc IN collection
      LET cond1 = (doc.value == 1)
      LET cond2 = (doc.value == 2)
      FILTER cond1 || cond2
      RETURN { doc, cond1, cond2 }

the optimizer will now inject the conditions for `cond1` and `cond2` into the filter condition `cond1 || cond2`, expanding it to
`(doc.value == 1) || (doc.value == 2)` and making these conditions available for index searching.

note that the optimizer previously already injected some conditions into other conditions, but only if the variable that defined
the condition was not used elsewhere. for example, the filter condition in the query

    FOR doc IN collection
      LET cond = (doc.value == 1)
      FILTER cond
      RETURN { doc }

already got optimized before because `cond` was only used once in the query and the optimizer decided to inject it into the place
where it was used.
this only worked for variables that were referred to once in the query. when a variable was used multiple times, the condition
was not injected as in the following query

    FOR doc IN collection
      LET cond = (doc.value == 1)
      FILTER cond
      RETURN { doc, cond }

the fix for #2070 now will enable this optimization so that the query can use an index on `doc.value` if available.
2016-09-22 20:29:27 +02:00
jsteemann 5e26337548 issue #2070 2016-09-22 19:59:13 +02:00
Michael Hackstein 63d086eb4f Fixed optimization of ANY in Traversals. It was included in the traverser who actually cannot handle it. 2016-09-22 17:24:39 +02:00
Jan Steemann f0e14cff7d changed behavior of array comparison operators for empty arrays 2016-09-21 11:01:59 +02:00
Michael Hackstein d01c7ca32b Disabled {uniqueEdges: 'global'} and {uniqueVertices: 'global', bfs: false} in Pattern Matching query as their result is entirely non deterministic. 2016-09-19 13:28:43 +02:00
jsteemann e245e155a1 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-09-19 08:59:16 +02:00
jsteemann 6d2a93d997 added experimental AQL functions `JSON_STRINGIFY` and `JSON_PARSE` 2016-09-19 08:58:52 +02:00
Jan Steemann a2deb13c8d fixed issue #2060 2016-09-19 08:50:13 +02:00
Michael Hackstein a1089521c3 Finding graphs by name now resolve externals one step earlier. 2016-09-15 10:04:36 +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
Max Neunhoeffer 08e89211f2 Include SmartGraphTraverser.h in enterprise case. 2016-09-13 14:20:55 +02:00
Jan Steemann 84fbc98081 added assertions 2016-09-13 12:14:46 +02:00
jsteemann 467f260400 fix compile warning 2016-09-13 12:10:06 +02:00
Frank Celler bfe84ef34e simplified expression 2016-09-12 18:07:55 +02:00
Frank Celler eed90fc588 fixed cppcheck warnings 2016-09-09 15:08:48 +02:00
Jan Steemann 6ebfdf5e1e don't crash when lock request fails 2016-09-09 13:47:21 +02:00
Michael Hackstein 1625260f4e Fixed shutdown of Traversal Blocks in Cluster 2016-09-08 13:37:29 +02:00
Michael Hackstein 0bec84ddd5 Merge branch 'generic-col-types' of github.com:arangodb/arangodb into generic-col-types 2016-09-08 11:29:55 +02:00
jsteemann f3d836c86d unify exception debugging 2016-09-08 09:34:33 +02:00
jsteemann 34f7e27d6c Merge branch 'devel' of https://github.com/arangodb/arangodb into generic-col-types 2016-09-08 09:27:53 +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
Frank Celler 852bfa08eb silenced cppcheck warning 2016-09-08 08:43:47 +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 c046c9a06a Merge branch 'generic-col-types' of github.com:arangodb/arangodb into generic-col-types 2016-09-07 13:38:23 +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 98dc073774 Merge branch 'devel' of https://github.com/arangodb/arangodb into generic-col-types 2016-09-07 10:01:49 +02:00
Jan Steemann a79c8360d4 fixed issue #2039 2016-09-07 09:59:41 +02:00
Michael Hackstein 4f50911c88 Fixed a bug in Traversal Explainer. Also fixed undefined behaviour when directly checking for an attribute omitting == true in early traversal filter. 2016-09-06 18:46:40 +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 1823cff3a9 removed TRI_collection_t 2016-09-02 14:54:13 +02:00
jsteemann 4839d65b36 moved things out of TRI_collection_t 2016-09-02 11:56:48 +02:00
jsteemann 002f503dac don't use c_str() 2016-09-02 09:14:34 +02:00
jsteemann a04934ce50 Merge branch 'engine-vs-velocystream' of https://github.com/arangodb/arangodb into generic-col-types 2016-08-31 09:25:09 +02:00
jsteemann b2eadbd179 Merge branch 'devel' of https://github.com/arangodb/arangodb into generic-col-types 2016-08-30 16:07:50 +02:00
Jan Steemann b7be5d5cfb fixed issue #2026 2016-08-30 15:14:16 +02:00
jsteemann 2134afaa83 renamed method 2016-08-30 10:36:34 +02:00
jsteemann b9f8709104 renamed GeoIndex2 to GeoIndex 2016-08-29 13:02:07 +02:00
Michael Hackstein 0985e7fc88 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-26 12:52:41 +02:00
jsteemann 8a6d054642 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-vs-velocystream 2016-08-26 12:37:07 +02:00
Jan Steemann 0392ba9b1a throw OOM error in case no buffer can be allocated 2016-08-26 11:00:05 +02:00
Michael Hackstein b01a7ac0d5 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-26 08:02:54 +02:00
Michael Hackstein e75567dae5 Further fixes for tests: Fixed unitialized count. Fixed some false CORRUPTED_COLLECTION states. 2016-08-26 08:02:34 +02:00
jsteemann c6efe26198 cppcheck 2016-08-25 14:04:23 +02:00
Michael Hackstein 1f3dabc8e1 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-25 11:08:39 +02:00
Michael Hackstein 2af30f056d Moved index creation to use LogicalCollection instead of TRI_collection_t. Involved changes of the constructor, all can now be created using iid and Slice. Removed specialized functions to create/find indixes in v8-voc index. Also the iteration is modified. This commit compiles but tests will fail. Merge commit. 2016-08-25 09:57:36 +02:00
jsteemann 1dab450622 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-24 17:35:10 +02:00
jsteemann 04f5fbbdb2 fixed issue #2018 2016-08-24 17:33:49 +02:00
jsteemann f92815b09b Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-vs-velocystream 2016-08-24 09:38:06 +02:00
Wilfried Goesgens 6934baa6a4 Attempt not to bypass error handling so we hopefully get some more information on issue #2011 2016-08-23 17:02:28 +02:00
Jan Christoph Uhde 5be5030983 Merge branch 'obi-velocystream-enums' into engine-vs-velocystream
* obi-velocystream-enums:
  clean up - remove enumToEnum magic
  finish ResponseCode enum
  finish  ProtocolVersion, ProtocolType and ConnectionType
  finish ContentType enum
  preapre move of ContentTypes
  finish RequestType enum
  prepare replacement of request types
  even more error messages
  slightly better error messages
  better exceptions form event loop
  mark len constexpr

Conflicts:
	arangod/Agency/Inception.cpp
2016-08-23 16:01:58 +02:00
Jan Christoph Uhde 1febeadfd7 finish ResponseCode enum 2016-08-23 15:46:42 +02:00
Jan Christoph Uhde d3654d99d8 finish RequestType enum 2016-08-23 14:49:29 +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
Jan Steemann b296468a18 more optimizations 2016-08-22 17:36:04 +02:00
Michael Hackstein 635641d4e5 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into engine-vs-velocystream 2016-08-19 13:15:48 +02:00
jsteemann c5e578917c removed useless include 2016-08-19 12:42:45 +02:00
Michael Hackstein 96f11c7e9f Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-19 12:26:07 +02:00
jsteemann e9866698aa removed JsonHelper 2016-08-19 12:24:12 +02:00
jsteemann 1b11096060 remove Json/JsonHelper/TRI_json_t 2016-08-18 17:28:43 +02:00
jsteemann 21dd73074a cppcheck 2016-08-18 16:57:55 +02:00
jsteemann 1cfee8059a remove TRI_json_t remainders 2016-08-18 16:13:52 +02:00
Michael Hackstein d3ba488271 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-18 12:38:07 +02:00
jsteemann 370093d37f removed unused method 2016-08-18 11:47:27 +02:00
jsteemann a2085066e0 use VPack 2016-08-18 10:36:52 +02:00
Michael Hackstein 21335bb398 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-17 11:23:04 +02:00
Michael Hackstein 17a6da8afb Removed all references on TRI_vocbase_col_t and replaced them by LogicalCollection class. Not everything is properly moved and implemetned yet. This commit causes crashes. 2016-08-17 11:10:39 +02:00
Michael Hackstein 14e0411a87 Merge branch 'engine-vs-velocystream' of github.com:arangodb/arangodb into generic-col-types 2016-08-16 10:29:26 +02:00
jsteemann c00c4cd2bc Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-15 18:58:43 +02:00
jsteemann d4df305573 slightly improve query performance 2016-08-15 18:57:37 +02:00
jsteemann 000fd9cbdc Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-15 18:35:43 +02:00
jsteemann d2c1d75705 make unary minus and plus being executed in native C++ 2016-08-15 18:07:28 +02:00
jsteemann 1ec14d0bba privatize attributes 2016-08-15 15:47:39 +02:00
jsteemann 209c108c59 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-15 14:34:01 +02:00
jsteemann ed1e29bf57 execute ternary operator in C++ as well 2016-08-15 11:07:12 +02:00
Michael Hackstein 94ca36fdb2 Removed cluster-wide CollectionInfo and replaced it with a logical collection. The Logical collection shall be always available, in cluster and single server. 2016-08-15 09:08:24 +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 ec31db017d The TraverserEngine now honors variables in conditions properly 2016-08-09 16:28:07 +02:00
Michael Hackstein 42b8d44785 Fixed transfering of Vertex Filter Conditions in Cluster Traverser. Yet Missing if the filter needs a variable. 2016-08-09 13:54:34 +02:00
Michael Hackstein 72f127135b Removed dead code 2016-08-08 17:41:34 +02:00
Michael Hackstein 68fb94821a Fixed initialisation of TraverserEngines 2016-08-08 16:47:51 +02:00
Michael Hackstein 34b124d2a4 Traverser Engines are now created on ALL servers in the cluster. Even though some of them may not be responsible for anything. 2016-08-08 16:28:26 +02:00
Michael Hackstein 1447d6901f If a collection is not known to a Cluster Traversal. It will now throw an exception to prevent dead-locks and undefined behaviour. 2016-08-08 09:41:27 +02:00
Michael Hackstein 1ebb19d1da Fixed potential dead-lock situation when using AQL Traversals in Cluster with late-modify of Vertex Collection. 2016-08-05 13:20:46 +02:00
Michael Hackstein cb48f04cf7 Removed 'THROW' from destructor 2016-08-05 11:20:21 +02:00
Michael Hackstein 11c831aaee First Draft of injecting all Collections in Query into TraverserEngines 2016-08-05 11:05:16 +02:00
Michael Hackstein f68162bd93 Merge branch 'devel' of github.com:arangodb/arangodb into MIT 2016-08-05 09:35:46 +02:00
Michael Hackstein 9a7fed8247 Fixed creation of TraverserEngines Coordinator side. Now always the correct size of edge collections is transferred, even if the DBServer is only responsible for Vertex Collections. 2016-08-04 15:15:34 +02:00
Michael Hackstein 92342f3bed Fixed cloning of TraversalNodes. It now maintains the list of collections 2016-08-04 14:14:53 +02:00
jsteemann bc6633e4c0 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-04 13:33:10 +02:00
jsteemann 8a200f754c WG beautification 2016-08-04 12:36:14 +02:00
Michael Hackstein 8cb670595b Merge branch 'devel' of github.com:arangodb/arangodb into MIT 2016-08-04 09:09:25 +02:00
jsteemann 8baa7ec955 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-03 13:39:00 +02:00
Jan Steemann fe87b25ebb produce more meaningful error messages 2016-08-03 13:36:13 +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 81a21aaea0 Now initializing the Query when injecting the transaction. 2016-08-02 12:43:19 +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 994a99e31f Merge branch 'devel' of github.com:arangodb/arangodb into MIT 2016-08-01 16:50:54 +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
jsteemann 71bd7deace Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-01 09:04:17 +02:00
Frank Celler 51683dbda0 added a panic interrupt of memory gets low 2016-07-31 12:58:27 +02:00
jsteemann d92f15aeed entirely removed TRI_document_collection_t 2016-07-29 17:48:51 +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 b388fc3e87 Fixed bad access bugs from last commit. 2016-07-28 17:33:13 +02:00
jsteemann ba6bb338ba Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-07-28 17:25:19 +02:00