1
0
Fork 0
Commit Graph

3901 Commits

Author SHA1 Message Date
Michael Hackstein e3febed2b5 ShortestPath and TraversalNode now call GraphNode::toVelocyPack as expected, not the Base ExecuteionNode::toVelocypackGeneric by accident 2017-04-20 17:19:30 +02:00
Michael Hackstein 4f899bfd2c Integreated a ShortestPathEngine on DBServers and wired it up with ShortestPathNode and Options. The path seems to be computed correctly in clsuter now, but the vertices are not yet retrieved. 2017-04-20 13:57:14 +02:00
Michael Hackstein 0fa1980064 More unified merge of Traverser- and ShortestPath- into GraphNode. Now the ShortestPathNode creates TraverserEngines on the Cluster. Finally everything ready to wire computation together 2017-04-19 15:23:37 +02:00
Michael Hackstein e7142beca0 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-04-19 10:10:57 +02:00
Michael Hackstein 50ce09cd98 Added a generic GraphNode as a base-class for Traversal and ShortestPath. It should handle Graph parsing and Engine creation. 2017-04-19 10:10:47 +02:00
jsteemann d3f32799c6 fixed assertion failure 2017-04-18 14:54:29 +02:00
Dan Larkin 2e0fdbf666 Fixed some bugs. 2017-04-13 20:06:25 -04:00
Michael Hackstein 1087065ea5 Merge branch 'devel' of github.com:arangodb/arangodb into engine-api 2017-04-13 17:34:25 +02:00
Michael Hackstein 177a3de0fd Squashed commit of the following:
commit ba04aa66ce874fc67644ef2c7b8ee6ef3397e13e
Merge: 8ea1ad2 c6d65ea
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Apr 13 16:51:17 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 8ea1ad2ff0325fc014479376b5258d1b3fa4f730
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Apr 3 14:18:11 2017 +0200

    Deactivated cache in single-server mode

commit 2c68eaeb841aebccccd245ef78bab919adf39a2f
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Apr 3 09:18:36 2017 +0200

    Activating document cache in cluster mode for traversals.

commit 3943ca4f8257fe54534949c46749e40c28c4d597
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Mar 31 16:10:39 2017 +0200

    Created two implementations of TraverserCache. One that takes responsibility for strings only, the other one also caches Documents.

commit 0951f906f18d3631cec412cd0b00504e6d00fc3e
Merge: 0f9970b 87fbbe8
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Mar 31 14:59:16 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 0f9970b7bab478c4b591b3f4c7fb18915753df30
Merge: d546fd1 8a42089
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Mar 30 17:09:20 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit d546fd13c6a0a3bb4622f6aefd44ea3a149cc8cb
Merge: 873bc59 bd4a2eb
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 29 15:16:54 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 873bc5950028248bf209d0c53fc9eb93938e3610
Merge: 8e4457a 3487097
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Mar 27 14:00:27 2017 +0200

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 8e4457a96754bea3437e8d44c0ef9db2366ee86d
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Mar 27 13:59:44 2017 +0200

    Removed old VPackSlice based getVertex API in traversers.

commit 2e0716eeeec1ec56b96571a18074539f5e27cb40
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Mar 24 09:09:02 2017 +0100

    Fixed logic error in SingleServerEdgeCursor readAll. The cursorId was not propageted properly, which cased filter-evaluations to fail

commit cea85c2ac1163ed0a989c492b8039ed4f7622325
Merge: 538f216 45a4fac
Author: Michael Hackstein <michael@arangodb.com>
Date:   Fri Mar 24 08:17:31 2017 +0100

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 538f216cbefcdfb4d06fe16a42f223cecae8598b
Merge: 5f4afee 8bfcb49
Author: Simon Grätzer <simon@graetzer.org>
Date:   Thu Mar 23 16:33:44 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of https://github.com/arangodb/arangodb into devel-feature/traversal-cache

commit 5f4afee54094ea6d2a0cfec1abfb75451f228a23
Author: Simon Grätzer <simon@graetzer.org>
Date:   Thu Mar 23 16:33:38 2017 +0100

    VertexGetter StringRef methods

commit 8bfcb490d7a907ebd7dcc9e6f38a8d29baa7c7e5
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Mar 23 16:32:38 2017 +0100

    Fixed AqlValues created by traverser-cache. They are now not using externals anymore which cased everything to crash

commit 614cdedb7e30e35f65f289b310c38b2585eb03e4
Merge: 773b0a5 416777b
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Mar 23 12:52:19 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of github.com:arangodb/arangodb into devel-feature/traversal-cache

    This state is still red

commit 773b0a5e51f87875fa9bf1440dd002b2e1fcfd2a
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Mar 23 12:48:53 2017 +0100

    Added Implementation or readAll in Cluster EdgeCursor. This commit is still red.

commit 82ebbd6ec84918d43bbc64174bc251efa548a4de
Merge: e52b210 35dffc4
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Mar 23 11:37:31 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of github.com:arangodb/arangodb into devel-feature/traversal-cache

    This commit is not green.

commit 416777b60a8a0c741d11e9c654745866d0dfa15d
Author: Simon Grätzer <simon@graetzer.org>
Date:   Thu Mar 23 11:25:35 2017 +0100

    Fixed errornous ClusterEdgeCursor implementation of `readAll

commit e52b21025a5f56e2cfc03e3c129da83793f19846
Author: Michael Hackstein <michael@arangodb.com>
Date:   Thu Mar 23 11:01:17 2017 +0100

    Fixed API for Traversals: All functions now use StringRefs to identify vertices and edges which are presisted within the traverser-cache.

commit 35dffc439c156366b1110c6770c1565021934632
Author: Simon Grätzer <simon@graetzer.org>
Date:   Wed Mar 22 20:26:41 2017 +0100

    Fixed a few cluster issues

commit 73cf4fe41c363f6c034a1daeacee1630d7e827a5
Author: Simon Grätzer <simon@graetzer.org>
Date:   Wed Mar 22 17:26:12 2017 +0100

    Fixed EdgeCursor bug

commit 2f7329b4e9711740b423cf2963c6cf3f880c4bdf
Merge: bb9b129 8e5edf5
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 22 14:32:07 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 8e5edf5fbe93f34d3340099619baa9a56a738887
Author: Simon Grätzer <simon@graetzer.org>
Date:   Wed Mar 22 14:09:43 2017 +0100

    Fixing compile errors

commit bb9b1294c9ff91f62bc27775a4c7a69c5daca2fd
Merge: 048a4c6 8e51e3b
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 22 11:39:17 2017 +0100

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 048a4c65e11d6fd9cb25a58ee97ed756a419a067
Merge: 693607e c6b177d
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 22 11:34:57 2017 +0100

    Solved merge conflicts. Build is still red.

commit c6b177dfc348df0f49f07cd67e83b873871fe6c5
Author: Simon Grätzer <simon@graetzer.org>
Date:   Tue Mar 21 23:04:28 2017 +0100

    Fixed off by one error, and crash

commit 5dbc9eb58f1d21e5a530806d7ad7e52058234b83
Merge: 463e352 db8c255
Author: Simon Grätzer <simon@graetzer.org>
Date:   Tue Mar 21 17:46:01 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of https://github.com/arangodb/arangodb into devel-feature/traversal-cache

    # Conflicts:
    #	arangod/Graph/BreadthFirstEnumerator.cpp

commit 463e3520636c19ae7a7c1d445099f336c5bde31e
Merge: 4e75f29 b8cabbe
Author: Simon Grätzer <simon@graetzer.org>
Date:   Tue Mar 21 17:00:17 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of https://github.com/arangodb/arangodb into devel-feature/traversal-cache

    # Conflicts:
    #	arangod/Graph/BreadthFirstEnumerator.cpp

commit 693607ea92ab3116a628c08c59a983a6fdf8b5f4
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Mar 21 16:26:57 2017 +0100

    Moved specialized NeighborsEnumerator into its own files.

commit db8c25587ebcdeff8b32d08cf2d97d723bf2b3fe
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Mar 21 15:16:39 2017 +0100

    Replaced SingleServerBreadthFirst with using Callbacks in readAll method of EdgeCursor

commit 4e75f29de95edeea35573b128a0a13e04c9e65d2
Merge: 8716936 6de86c5
Author: Simon Grätzer <simon@graetzer.org>
Date:   Tue Mar 21 14:32:12 2017 +0100

    Merge branch 'devel-feature/traversal-cache' of https://github.com/arangodb/arangodb into devel-feature/traversal-cache

commit b8cabbedebb16c09c8168ec8b5a4499e98c705f4
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Mar 21 11:17:23 2017 +0100

    Removed _enumertedPath from BreadthFirstEnumerator. Less string copying expected now.

commit 8716936bd480f4b7c85ece6fc1a51335f1942258
Author: Simon Grätzer <simon@graetzer.org>
Date:   Tue Mar 21 11:05:04 2017 +0100

    Traverser: changed method definitions

commit 14af02fbc08b7e2ed6b0cbb918ff509ffaef76bf
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Mar 21 10:45:13 2017 +0100

    Removed usage of _enumeratedPath in lastEdge/Vertex to AQL. Goal is to delete this struct in the class, as it does unneccessary copies

commit 06a20ab0549d97b47eda98d3428e3390619ca5ec
Author: Simon Grätzer <simon@graetzer.org>
Date:   Tue Mar 21 10:39:21 2017 +0100

    Intermediate changes

commit 3a9a5f7c7ad186c669c3986f6f89c5a26b835ee0
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Mar 21 10:34:43 2017 +0100

    Logic of BreadthFirstEnumerator now points to the last path returned instead of the next path to return. This will allow to get rid of enumeratedPath in there.

commit 6de86c548220a3ad21c53fb1de691070774130ec
Author: Michael Hackstein <michael@arangodb.com>
Date:   Tue Mar 21 10:17:25 2017 +0100

    Extracted BreadthFirstEnumerator out of PathEnumerator files. Only moving of code.

commit acd1d9eba5d7ea23e0d6beab831a42dc61a385a5
Merge: a99ad3c 1ab8c44
Author: Michael Hackstein <michael@arangodb.com>
Date:   Mon Mar 20 13:13:16 2017 +0100

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit a99ad3c624d7ae4815776f165d65f19e43167e56
Author: Simon Grätzer <simon@graetzer.org>
Date:   Fri Mar 17 13:25:45 2017 +0100

    Added TraverserCache to SingleServerTraverser

commit e88ae1e53d99b55546329413e7b4a5edc48c4875
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 15 13:36:05 2017 +0100

    Fixed compiler Issues in TraverserCache

commit 9d89cdc0297813f24064b46a67a43cde9a3d0297
Merge: 9d41804 f18ad19
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 15 09:43:06 2017 +0100

    Merge branch 'devel' of github.com:arangodb/arangodb into devel-feature/traversal-cache

commit 9d4180480c7bc37f1f64b6e3141dae611f8d399c
Author: Michael Hackstein <michael@arangodb.com>
Date:   Wed Mar 15 09:42:53 2017 +0100

    Started implementing a Traverser Cache Abstraction that is used to store already fetched documents.
2017-04-13 17:00:44 +02:00
Jan Christoph Uhde 23f0a9246f Fix Index Node 2017-04-13 09:45:30 +02:00
Michael Hackstein 5f33a95a82 Fixed AttribtueWeighted ShortestPath computation. 2017-04-12 17:27:45 +02:00
Michael Hackstein 034b38f0cc Replaced the velocypack ConstantDistance ShortestPath API by a StringRef & TraverserCache version. This should be save for RocksDB. This commit fails in ClusterMode. 2017-04-12 14:21:53 +02:00
Michael Hackstein 7469cc7bec Reenabled ShortestPath with AttributeWeight. Was accidentially disabled by options modifications. 2017-04-12 09:05:54 +02:00
Michael Hackstein 1119257d49 ShortestPathOptions now contain forward and backward lookupinfos for all edge collections in use. 2017-04-11 15:00:21 +02:00
Michael Hackstein 7e3ce102b1 The ShortestPathBlock and -Node now use a pointer to the same options instead of managing one each. 2017-04-11 14:08:21 +02:00
Michael Hackstein 212de2b0d1 Simplified AqlTraverser Setup code by moving shared logic into the TraverserOptions. 2017-04-11 13:47:06 +02:00
Michael Hackstein b09dfaa323 Removed external expander functions and moved them into the PathFinder implementations. 2017-04-11 11:41:12 +02:00
Andreas Streichardt bf2efb387e Fix unlocking of AQL queries in the cluster 2017-04-10 17:01:24 +02:00
Michael Hackstein cf7136264b Removed V8Traverser files and made ShortestPathOptions an extension of Graph::BaseOptions. Now they are ready to use LokkupInfos as well. Now starting to move logic around 2017-04-10 16:26:23 +02:00
Michael Hackstein 052c4942fc Removed superflous aql::ShortestPathOptions and replaced it by traverser::ShortestPathOptions. Api is not fixed yet. 2017-04-10 11:02:01 +02:00
jsteemann 0229ab9326 issue #2415 2017-04-09 23:19:10 +02:00
jsteemann 0b9982d237 fix crash 2017-04-06 13:22:51 +02:00
jsteemann d76f9f67ff fix crash 2017-04-06 12:49:45 +02:00
Simon Grätzer e58bdb6258 Fixing windows build 2017-04-06 11:17:42 +02:00
Simon Grätzer 6435e3b2bc Fixing windows build 2017-04-06 11:15:49 +02:00
Simon Grätzer 08167c2614 Conversion warnings 2017-04-06 10:56:50 +02:00
Simon Grätzer a90e62bc02 Conversion errors 2017-04-06 10:50:40 +02:00
Michael Hackstein daa8b2b855 Detemplateified the ShortestPath class structure. 2017-04-05 17:47:14 +02:00
Michael Hackstein fbd3e4e237 Removed VertexID from ShortestPath templates. 2017-04-05 17:01:05 +02:00
Michael Hackstein ee57f9abef Renamed ConstDistanceFinder => ConstantWeightShortestPathFinder 2017-04-05 16:29:40 +02:00
Michael Hackstein 30095556e9 Renamed DynamicDistanceFinder => AttributeWeightShortestPathFinder 2017-04-05 16:21:38 +02:00
Michael Hackstein 829fb4be54 Renamed PathFinder => ShortestPathFinder. 2017-04-05 16:17:37 +02:00
Michael Hackstein e64cadde7d Added a toAqlValue in ManagedDocumentResult that should be called from outside. This figures out if we have to copy the content into the AqlValue or if we could just point to the raw data. 2017-04-05 15:32:45 +02:00
Michael Hackstein 039c6fbd16 Moved all logic of lib/Basics/PathFinder into seperated files in arangod/Graph. Preparation to detemplatify this code as we need some arangodb interna in it for Slice mangement 2017-04-05 15:31:44 +02:00
Michael Hackstein 8daa3820c7 Fixed initialisation of Member variable in IndexBlock 2017-04-05 09:33:50 +02:00
Michael Hackstein e56c20b99a Finally fixed undefined behaviour in IndexNode. Missed one part in the comit before 2017-04-04 19:08:21 +02:00
Michael Hackstein 40634f88ab Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-04-04 16:58:12 +02:00
Michael Hackstein c928072bae Fixed IndexBlock. It now directly writes into the AQL register and does not rely on slices staying active 2017-04-04 16:57:54 +02:00
Simon Grätzer c123ac3734 Fixed truncate 2017-04-04 10:48:37 +02:00
jsteemann ef3322b81f make SORT RAND() removal a feature of the old engine 2017-04-04 08:55:08 +02:00
jsteemann 90121b69fd honor limit in iterators 2017-03-31 17:05:45 +02:00
jsteemann 81dcfbbe3d pass trx into numberDocuments 2017-03-31 11:33:16 +02:00
Jan Christoph Uhde 95007fe28e Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api-arango-result
* 'engine-api' of https://github.com/arangodb/arangodb: (46 commits)
  Merged RocksDBPathBasedIndex into RocksDBVPackIndex.
  fix handling of externals
  fix toArray()
  fix returning documents
  Added hash-, skip list, persistent indexes
  harmonize filtering - filter on full filename.
  mini modifications
  standardize starting of servers for replication tests
  Edge index compliant with design doc
  another fix for #2404
  Moved „removeLargeRange“ method to commons
  Added length byte to IndexValue keys.
  fixed issue #2404
  Added drop to primary index
  Added drop() to indexes
  Fixes a coordinator crash in Clustered Traversal. In case of failover during query planning.
  Fixed edge index
  Expand on CORS documentation
  Let ArangoDB handle the allow-credentials header
  make the authentication tests run on directories
  ...
2017-03-30 19:46:17 +02:00
jsteemann d563eb432f Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-03-30 15:50:53 +02:00
Michael Hackstein 053f953ee5 Fixes a coordinator crash in Clustered Traversal. In case of failover during query planning. 2017-03-30 13:24:44 +02:00
Jan Christoph Uhde b83ae2ab82 refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
Simon Grätzer cd9e9a13cf Path based enumerator 2017-03-29 17:33:02 +02:00
jsteemann 467307fd07 fixed issue #2400 2017-03-28 13:58:49 +02:00
jsteemann 3d0beb3a23 implement SLEEP() in C++ 2017-03-28 09:45:53 +02:00
Michael Hackstein 3925f946c5 Revert "Squashed commit. Moved over SmartSearch Shortest Path feature"
This reverts commit f7eb96bc8d.
2017-03-24 18:23:20 +01:00
Simon Grätzer 7007db2f44 Windows: Fix ShortestPathNode 2017-03-24 17:23:31 +01:00
Simon Grätzer 95f4265d25 Windows fix 2017-03-24 17:15:36 +01:00
Michael Hackstein f7eb96bc8d Squashed commit. Moved over SmartSearch Shortest Path feature 2017-03-24 15:31:39 +01:00
Max Neunhoeffer 0dc4274b6a Increase timeout in AQL query instantiation from 30s to 90s. 2017-03-23 13:37:15 +01:00
Max Neunhoeffer 29338899fd Finally port TraverserEngine locking bug fix manually. 2017-03-23 12:44:51 +01:00
Max Neunhoeffer 32953a4a97 Revert "Fix locking of shards in TraverserEngines."
This reverts commit 467088b8af.
2017-03-23 12:33:11 +01:00
Max Neunhoeffer 467088b8af Fix locking of shards in TraverserEngines. 2017-03-23 12:23:40 +01:00
Max Neunhoeffer 66a8ea1538 Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2017-03-23 12:15:40 +01:00
jsteemann 6bb9863108 fixed issue #2392 2017-03-23 12:10:11 +01:00
Max Neunhoeffer 64a18f78e0 Fix SortedCollectBlock skipping issue. Resolves #1482. 2017-03-23 12:08:54 +01:00
jsteemann c46c52d8c8 Merge branch 'devel' of https://github.com/arangodb/arangodb into views 2017-03-17 09:31:25 +01:00
jsteemann 8a69f5716f show collection load time in slow queries 2017-03-17 09:28:53 +01:00
jsteemann 25a380f77c Merge branch 'devel' of https://github.com/arangodb/arangodb into views 2017-03-16 12:50:11 +01:00
jsteemann ea0be728d7 fix compile error 2017-03-16 12:16:29 +01:00
Michael Hackstein eded404e3a Replaced costEstimate of ShortestPath by a hardCoded one which does not require knowledge of edgeIndex 2017-03-16 10:07:50 +01:00
Michael Hackstein 1ab0295f54 Replaced Traverser estimateCost by a more precise version, it now does not check hardcoded on an edge-index estimate. 2017-03-16 09:45:09 +01:00
Simon Grätzer 1c5c616875 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-15 14:12:18 +01:00
Michael Hackstein ce4e394305 Merge branch 'devel' of github.com:arangodb/arangodb into engine-api 2017-03-15 12:35:53 +01:00
Simon Grätzer f9e4f4b43d Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-14 16:39:41 +01:00
jsteemann 889960a6a0 fixed wrong assertion 2017-03-14 11:22:37 +01:00
Simon Grätzer ec261d91eb Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-14 10:11:08 +01:00
jsteemann a42948c6bc fix invalid assertion 2017-03-14 09:49:41 +01:00
Michael Hackstein 5eecac958f Removed accidently commited log output 2017-03-14 09:13:45 +01:00
Simon Grätzer 7b35f75b23 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/CMakeLists.txt
#	arangod/GeneralServer/GeneralServerFeature.cpp
2017-03-13 12:25:28 +01:00
Michael Hackstein 83663c47b2 Deleted CollectionResult. It is identical to arangodb::Result introduced later. 2017-03-10 17:18:12 +02:00
jsteemann f1ba4874fe functionality for plugging REST handlers 2017-03-09 17:12:00 +01:00
jsteemann 010478ccd2 removed occurrences of mmfiles 2017-03-09 16:40:42 +01:00
jsteemann 645889949c move engine-specific V8 functions into storage engine 2017-03-09 12:59:44 +01:00
jsteemann 537757d9a3 added EnumIterator 2017-03-08 23:40:57 +01:00
jsteemann ff60c5e61a slightly penalize EnumerateCollectionNodes (in contrast to IndexNodes) so that IndexNodes are always preferred over EnumerateCollectionNodes when compared in two plan variants 2017-03-08 22:50:58 +01:00
Simon Grätzer 67066c64ad Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-08 18:20:44 +01:00
jsteemann a2a29ab6b1 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-03-08 15:07:33 +01:00
jsteemann 3ed19e291d added "shardIds" option for AQL queries to restrict queries to specific shards 2017-03-08 15:07:10 +01:00
Michael Hackstein f7210ee75b Fixed forward declaration. Was declared as class but is a struct 2017-03-08 13:25:37 +01:00
Simon Grätzer 2c77f42486 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-07 15:08:06 +01:00
jsteemann 57dd92902c move engine-specific optimizer rules into engine 2017-03-07 13:10:58 +01:00
jsteemann 644ef08ce0 added "bindVars" to attributes of currently running and slow queries 2017-03-07 00:19:01 +01:00
Michael Hackstein d4dd243946 Alphabetically ordered includeds 2017-03-06 16:04:43 +01:00
Michael Hackstein 7afccbd6e9 Fixed forward declarition. Struct vs. class 2017-03-06 10:48:37 +01:00
Simon Grätzer dfd3cc3869 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangosh/Import/ImportHelper.cpp
2017-03-04 02:08:27 +01:00
jsteemann fa2c0c02f1 simplifications 2017-03-02 22:20:51 +01:00
jsteemann 1b7b668066 simplify query list a great deal and use less dynamic memory for its entries 2017-03-02 13:20:37 +01:00
jsteemann 62f894c2b8 split big file 2017-03-01 15:49:57 +01:00
jsteemann 678ba0dcee dont prevent copy ellision 2017-03-01 15:44:41 +01:00
Simon Grätzer 27c617fe10 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	3rdParty/V8/v8
#	arangod/Transaction/Methods.h
#	arangod/Utils/UserTransaction.h
#	arangod/V8Server/v8-collection.cpp
2017-03-01 14:52:35 +01:00
jsteemann cf5d20ddee Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-02-28 17:02:42 +01:00
jsteemann b6a265068a fix velocypack-over-HTTP responses 2017-02-28 17:01:59 +01:00
jsteemann a420093f2d Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-27 17:25:51 +01:00
jsteemann 666b2f8da9 renaming 2017-02-27 14:38:27 +01:00
jsteemann 92788ad827 fix potential memory issue 2017-02-27 12:01:14 +01:00
jsteemann 94ce6a65f8 renamed methods 2017-02-27 11:22:44 +01:00
jsteemann 9d13dcaadd Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-27 09:26:18 +01:00
jsteemann ca54ae9b72 use unique_ptrs 2017-02-24 18:03:40 +01:00
jsteemann d0df1952e8 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-24 17:51:59 +01:00
jsteemann d46e3a6453 added some assertions 2017-02-23 18:08:41 +01:00
jsteemann 09919cfc36 fixed issue #2320 2017-02-23 10:14:42 +01:00
jsteemann 6c4ecf28aa also sanitize vpack custom types when sending vpack data to clients 2017-02-23 10:12:20 +01:00
Frank Celler e4da3d3948 allow passing of define USE_PLAN_CACHE in flags 2017-02-22 09:03:07 +01:00
jsteemann 99ea3c37bb attempt to fix broken AQL in cluster 2017-02-21 18:08:35 +01:00
jsteemann 04bc8124c3 try to fix crash 2017-02-21 17:33:22 +01:00
jsteemann def25b304a fix compile warning 2017-02-21 17:32:54 +01:00
jsteemann 9f7defa7de fix plan cache 2017-02-21 13:43:47 +01:00
jsteemann deb0ff1110 fix stringification of keys with _id type 2017-02-21 13:43:07 +01:00
jsteemann 511d0b29c7 deactive plan cache as final step before merge 2017-02-21 13:06:34 +01:00
jsteemann ed3a230939 some final cleanup 2017-02-21 13:04:24 +01:00
jsteemann c0c9fa4b19 Merge branch 'devel' of https://github.com/arangodb/arangodb into plan-cache 2017-02-21 12:18:55 +01:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
jsteemann 12f1a7af29 fixed issue #2315 2017-02-21 09:11:50 +01:00
jsteemann 8ce7f6558d simplifications 2017-02-20 09:51:40 +01:00
Michael Hackstein fea2dbad79 Fixed compiler warning in Query.cpp 2017-02-20 09:21:54 +01:00
jsteemann be8d6b0a9e simplifications 2017-02-17 20:55:52 +01:00
Michael Hackstein 92f52b13d3 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-17 17:29:53 +01:00
Michael Hackstein 91f303e963 Removed readRevision from LogicalCollection. You only get readDocument with a token. Moved it's logic into MMFilesCollection. removed the ignoreWal parameter from readDocumentConditional. It was always true anyways... 2017-02-17 17:29:49 +01:00
jsteemann ea87cc52b7 simplifications 2017-02-17 17:10:13 +01:00
jsteemann 535eca3ae0 make ctor explicit 2017-02-17 15:56:55 +01:00
jsteemann 10ddb52964 remove unused property 2017-02-17 15:41:45 +01:00
jsteemann c652a313da Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-17 14:03:59 +01:00
Jan Christoph Uhde 6ac5aa9691 fix spelling 2017-02-16 13:39:15 +01:00
jsteemann a09d13168d removed now unused declaration 2017-02-16 10:30:26 +01:00
jsteemann 089ff78d2d moved collection lock state into its own struct 2017-02-16 10:27:14 +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 01bf68549d simplifications 2017-02-14 22:48:51 +01:00
jsteemann bc080ae58f removed unused node type 2017-02-14 16:52:30 +01:00
jsteemann 12b973dc4b fix my compile errors 2017-02-14 16:41:31 +01:00
jsteemann 60e0b03b06 remove unused method 2017-02-14 16:23:07 +01:00
jsteemann 3ba6f1a1f5 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-14 16:16:01 +01:00
jsteemann 8c9dd79aeb potential fixes for MSVC 2017-02-14 16:11:18 +01:00
jsteemann 0909ffe69b moved helper functions into their own file 2017-02-14 13:44:54 +01:00
jsteemann 80be198a39 moved helper classes into their own file 2017-02-14 12:35:34 +01:00
jsteemann 7e690a0c61 renaming 2017-02-13 15:18:40 +01:00
jsteemann eb73dbf960 renaming 2017-02-13 13:30:57 +01:00
jsteemann f09ec85127 renaming 2017-02-13 12:27:26 +01:00
jsteemann 8b273b5eaf Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-13 08:37:41 +01:00
jsteemann 1e78acad49 fix size_t vs uint64_t confusion 2017-02-10 23:43:47 +01:00
Michael Hackstein 48166a294c TraversalNode now does not know anything about EdgeIndexes any more. Removed isMMFilesEdgeIndex from Transaction, no obsolete 2017-02-10 18:18:23 +01:00
Michael Hackstein 07154391a2 Removed iteratorForSlice on Indexes and adapted index scan on transaction, because it can now only be used for ANY or ALL scans. 2017-02-10 15:47:24 +01:00
Simon Grätzer edab268572 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
# Conflicts:
#	arangod/Aql/FunctionDefinitions.cpp
#	arangod/Aql/Functions.h
#	arangod/Utils/ExplicitTransaction.h
2017-02-10 15:21:24 +01:00
Michael Hackstein 6b5d4b1d3d Reimplemented EdgeCollectionInfo to use Ast Conditions instead of VelocyPack. 2017-02-10 15:11:36 +01:00
Michael Hackstein 16dda09b4a Preperation to remove knowledge of EdgeIndex from ShortestPathNode 2017-02-10 14:24:13 +01:00
jsteemann 103ceec2f5 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-10 09:43:23 +01:00
jsteemann d024a6d00a remove logging for non-topics 2017-02-10 09:32:50 +01:00
jsteemann 05804be1a4 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-09 17:53:34 +01:00
jsteemann b6218159c3 remove static_assert (thanks MSVC) 2017-02-09 17:42:38 +01:00
Michael Hackstein e13064e83b Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-09 17:15:51 +01:00
Michael Hackstein b43cf48252 Added a self-contained edge condition builder that allows to create AQL conditions without actually having an AQL query. The RestEdgesHandler uses it to serve requests for edges now. Removed undocumented endpoints PUT/POST /_api/edges as obsolete. 2017-02-09 17:15:42 +01:00
Max Neunhoeffer f5a22b18b3 Kill queries in registry at shutdown. 2017-02-09 16:54:13 +01:00
Max Neunhoeffer 6be0c909b6 Merge remote-tracking branch 'origin/devel' into maxtests 2017-02-09 14:39:51 +01:00
jsteemann 434fad5691 remove static_assert (thanks MSVC) 2017-02-09 13:39:01 +01:00
Max Neunhoeffer 298b9ffc3b Add AQLFeature. 2017-02-09 11:57:51 +01:00
Michael Hackstein fd7341bbfa Moved a generic Aql Edge Condition builder out of the TraversalNode. It shall be used for all edge queries on other places. 2017-02-09 10:35:41 +01:00
Michael Hackstein dfc9f29e69 Moved FunctionDefinitions to an AqlFunctionFeature. This now has a defined startup ordering 2017-02-08 15:45:59 +01:00
Michael Hackstein 7cec7a4628 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-08 12:54:26 +01:00
jsteemann e75fe96546 try to fix compile warning 2017-02-08 09:33:01 +01:00
jsteemann 01d3ad67b1 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-08 00:59:16 +01:00
jsteemann b76eeee92e reuse more AqlItemBlocks 2017-02-08 00:59:06 +01:00
jsteemann 59b3967273 Merge branch 'reuse-itemblocks' of https://github.com/arangodb/arangodb into engine-api 2017-02-07 20:25:48 +01:00
Simon Grätzer 9b9f91a81c Pegel: Adding support for "PREGEL_RESULT" in aql 2017-02-07 18:37:23 +01:00
Max Neunhoeffer 883c11ea45 Handle the case that ClusterComm is already shut down gracefully.
This touches every single place where ClusterComm is being used.
2017-02-07 15:31:40 +01:00
Michael Hackstein ebddba07ec Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-07 13:47:07 +01:00
jsteemann c8df58dcc6 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-06 23:35:12 +01:00
jsteemann a3509aa041 centralize access to AqlItemBlocks memory management 2017-02-06 23:33:43 +01:00
jsteemann a7bc1ad213 use std::unique_ptr 2017-02-06 23:24:00 +01:00
jsteemann 4a15c16550 replace expensive std::deques with much simpler RollingVectors 2017-02-06 23:23:18 +01:00
Michael Hackstein a3aa963743 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-06 17:44:53 +01:00
Michael Hackstein 44647f2392 Moved Fulltext and geo functions into MMFiles StorageEngine and allowed the engines to register specific functions. 2017-02-06 17:44:17 +01:00
jsteemann 6b3a4d1dc3 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-06 15:48:54 +01:00
jsteemann 00dbf5aa9e Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-02-06 15:44:01 +01:00
jsteemann ba44acdcff simplify optimizer API a bit 2017-02-06 15:43:49 +01:00
Max Neunhoeffer 71dae630c3 Store ClusterComm singleton in shared_ptr. 2017-02-06 15:25:18 +01:00
jsteemann ab11410911 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-06 13:05:11 +01:00
jsteemann 93426ca720 fix sorting issue in cluster 2017-02-06 09:44:33 +01:00
Michael Hackstein b3d457cd56 Merge branch 'devel' of github.com:arangodb/arangodb into engine-api 2017-02-05 15:01:58 +01:00
jsteemann c2671d7ba3 micro optimizations 2017-02-03 16:51:41 +01:00
Michael Hackstein 7083671116 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-03 13:22:43 +01:00
Michael Hackstein 5e4b9e42b3 Fixed minor bugs in usage of callback-based index-api. Remove unused old next and nextBabies index iterator functions. 2017-02-03 13:22:06 +01:00
jsteemann 512672b3a4 make geo index work with nested attributes 2017-02-03 13:07:20 +01:00
jsteemann 819eeb18f9 don't tell GatherNode to sort data from an unsorted index 2017-02-03 11:47:52 +01:00
jsteemann 3c5edeb9b2 fix cluster AQL statistics 2017-02-03 11:47:36 +01:00
jsteemann 6e0da7929b simplify stats a bit 2017-02-03 11:47:09 +01:00
jsteemann f5a6818cdb don't tell GatherNode to sort data from an unsorted index 2017-02-03 11:17:56 +01:00
jsteemann 041da9685c Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-02-03 10:43:48 +01:00
jsteemann 950c3f40ad fix cluster AQL statistics 2017-02-03 10:43:40 +01:00
Michael Hackstein 08ff23492f Updated ShortestPathBlock to use the new callback based IndexApi 2017-02-02 15:51:54 +01:00
Michael Hackstein d5d22ca93e EnumerateCollectionBlock now uses callback to directly write indexoutput into AQLItemblock. 2017-02-02 14:41:33 +01:00
Michael Hackstein e8f621450c Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-02-02 12:38:20 +01:00
jsteemann 0e908a9617 simplify stats a bit 2017-02-02 10:21:03 +01:00
jsteemann 6b78f6c1ac fix negative value handling 2017-02-02 10:17:21 +01:00
jsteemann 0f80239a9d Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-02 08:40:30 +01:00
Michael Hackstein 364e07b164 Removed AQL::CollectionScanner. It can be drop-in replaced by OperationCursor 2017-02-01 20:57:44 +01:00
jsteemann 88518f6bf8 added "httpRequests" execution stats figure 2017-02-01 18:03:26 +01:00
jsteemann 4f1d588e0d Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-01 17:13:46 +01:00
jsteemann abc1bd4d66 use SmallVector optimization 2017-02-01 16:51:35 +01:00
Michael Hackstein 5f4027a75c Removed further unnecessary includes 2017-02-01 16:39:37 +01:00
Michael Hackstein 1a863f522b Removed unnecessary include and replaced by forward decl. 2017-02-01 16:35:11 +01:00
jsteemann fae1f7ba63 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-01 13:00:34 +01:00
jsteemann c314f9190d added assertions 2017-02-01 11:44:30 +01:00
jsteemann fc4977157d fix static_assert in MSVC 2017-01-31 17:35:31 +01:00
jsteemann 600bd60edd fix MSVC compile warnings 2017-01-31 17:02:17 +01:00
jsteemann b8e1eb8d47 fix compile warnings in MSVC 2017-01-31 16:47:22 +01:00
jsteemann c62b952beb fixed class/struct confusion 2017-01-31 16:46:59 +01:00
jsteemann 62145baa2a Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-01-31 15:54:39 +01:00
Michael Hackstein e98c7d3b7c Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-01-31 15:31:25 +01:00
Michael Hackstein ef8ca78dfb Added more tests for traversal optimization. Fixed an crash-error when optimizing . 2017-01-31 15:30:59 +01:00
jsteemann fc5d7311b5 use general BlockCollector in all cases in which it is appropriate 2017-01-31 15:03:24 +01:00
Michael Hackstein 7ab8e823d6 Added a forgotten VPackBuilder.close() in Traversalnode to VPack. This caused the query planner to fail at certain cases 2017-01-31 14:33:10 +01:00
jsteemann 37b7a18040 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-31 13:55:55 +01:00
jsteemann eec173c4ee optimize `IS_NULL(x)` to `x == null` 2017-01-31 12:17:35 +01:00
jsteemann 3c2a466c48 use block collector for IndexBlock 2017-01-31 12:16:53 +01:00
jsteemann 5cb4e3e685 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-31 08:51:42 +01:00
Max Neunhoeffer 91c97d301a Lower timeout in query registry to 10min from 1h. 2017-01-30 23:59:46 +01:00
jsteemann d96ce9af37 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-30 12:53:10 +01:00
jsteemann 802c384448 renaming 2017-01-30 09:02:57 +01:00
Michael Hackstein dcdc495c63 Fixed unintentially commited typo. 2017-01-27 19:30:26 +01:00
Michael Hackstein 2fe7a93f6e Improved TraversalCondition finder. It now does not crash anymore when filtering on TraverserOutput e.g. p.edges[0] == p.edges[1] and can make use of Array Indexes in certain cases. 2017-01-27 19:22:17 +01:00
Michael Hackstein 57b6174ff1 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-01-27 17:57:21 +01:00
jsteemann 044499e454 added startup option --query.memory-limit 2017-01-27 17:33:57 +01:00
Michael Hackstein 9b5810d84b The TraversalConditionFinder will now normalize all filters, before checking if they are valid 2017-01-27 09:57:46 +01:00
Michael Hackstein f7ce2c9de6 Added a name to the dump indention variable. 2017-01-27 09:55:15 +01:00
Michael Hackstein ff4430f346 Intermediate version of TraversalConditionFinder. The checks weather a FILTER is feasable for optimization partly cleaned. Next step is complicated and dangerous. 2017-01-26 17:24:39 +01:00
jsteemann 0cb7d416d0 moved transaction collections into their own files 2017-01-26 16:51:57 +01:00
jsteemann 6a4842b229 Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-01-25 16:30:33 +01:00
jsteemann de41509d9d factored out TransactionState 2017-01-25 15:55:01 +01:00
Michael Hackstein 00448bfc26 Transaction::invokeOnAllElements now works with a callback taken DocumentIdentifierTokens instead of IndexElements. 2017-01-25 15:03:08 +01:00
Michael Hackstein 786ab413f8 Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api 2017-01-25 13:20:24 +01:00
Michael Hackstein ce6d3b3492 The Fulltext index now return DocumentIdentifierTokens instead of revisions. Removed one inderection rid <-> Index_doc which were a typedef. 2017-01-25 13:20:15 +01:00
jsteemann 00b1632ece factored out AccessMode from transaction.h 2017-01-25 11:57:21 +01:00
Michael Hackstein 883e95989f The GeoIndex now returns DocumentIdentifierTokens instead of revision ids. 2017-01-25 11:13:30 +01:00
Michael Hackstein 78b83eefc4 Renamed => getMoreMptr in OpCursor to getMoreTokens, Removed default Parameter 2017-01-25 10:46:37 +01:00
Michael Hackstein 2133b1448c Moved index API to return DocumentIdentifierTokens which are independent of the underlying storage engine. The agreement is, that the Engine gives a uint64_t sized identifier which allows to fetch any document back again. For MMFiles Engine this identifier is the revision. 2017-01-24 18:19:25 +01:00
jsteemann e3bcb90916 remove revisions cache 2017-01-24 10:48:07 +01:00
jsteemann c4d2ff3dce renaming 2017-01-23 15:36:11 +01:00
jsteemann 7fedb4e956 moved files into engine directory 2017-01-23 13:52:57 +01:00
Michael Hackstein 92ad574c97 Moved Indexes to StorageEngine 2017-01-23 13:32:23 +01:00
Michael Hackstein 8d16d101a2 Revert "Moved Indexes to StorageEngine"
This reverts commit c08716758a.
2017-01-23 13:18:26 +01:00
Michael Hackstein c08716758a Moved Indexes to StorageEngine 2017-01-23 13:16:42 +01:00
Michael Hackstein 3eaf53c0c9 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2017-01-23 10:01:23 +01:00
Michael Hackstein 36e398f3f4 Fixed a bug with sort optimization in indexes. Also adapted tests. 2017-01-23 09:45:22 +01:00
jsteemann 3ba821d3f2 remove arbitrary and useless enum number values and let the compiler determine them 2017-01-19 16:20:46 +01:00
Max Neunhoeffer d038ba61e7 Implement attributePath access for SortElementVector and in GatherBlock.
Note: This is not yet used anywhere, so the changes should be entirely
neutral. We are going to use this in the optimizer rules
  scatterInClusterRule
and
  distributeInClusterRule
to make the GatherNode do a merge sort, if an index delivers sorted
streams of documents.
2017-01-18 15:32:59 +01:00