1
0
Fork 0
Commit Graph

357 Commits

Author SHA1 Message Date
Jan Steemann 683fbf4ec4 using emplace 2014-08-23 00:48:39 +02:00
Jan Steemann 7330597f15 fixed ambigious method JsonHelper::getStringValue 2014-08-22 21:53:29 +02:00
Max Neunhoeffer 4b229c5873 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	lib/Basics/JsonHelper.h
2014-08-22 17:02:06 +02:00
Max Neunhoeffer 8fd6cd1184 Implement clear unneeded registers. 2014-08-22 17:00:53 +02:00
Willi Goesgens 8a402683ed Optimizers: start implementing the sorting via indexes. 2014-08-22 16:48:52 +02:00
Max Neunhoeffer 821ce84b4b Disable debugging output. 2014-08-22 09:28:41 +02:00
Max Neunhoeffer 70ba155083 Teach unlinkNode to deal with nodes with multiple parents. 2014-08-22 09:24:38 +02:00
Max Neunhoeffer 90aed7a640 Fix a bug with a wrong assertion. 2014-08-21 17:01:25 +02:00
Max Neunhoeffer 8919c138c7 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-21 16:55:05 +02:00
Max Neunhoeffer 9a7dd748f4 Fix linkage bug. 2014-08-21 16:54:52 +02:00
Jan Steemann a1fcf9b28e activate rule to move calculations up 2014-08-21 16:38:49 +02:00
Max Neunhoeffer 5b0874a78a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-21 15:49:11 +02:00
James 053ab548ba Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-21 15:48:58 +02:00
Max Neunhoeffer e515d7845c Fix first bug with parents. 2014-08-21 15:48:49 +02:00
Jan Steemann 51c89c6829 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionPlan.cpp
	arangod/Aql/ExecutionPlan.h
2014-08-21 15:24:11 +02:00
Jan Steemann 81f08b7032 added insertDependency 2014-08-21 15:17:55 +02:00
Max Neunhoeffer 321ab35551 Finish _parents in ExecutionNodes business. 2014-08-21 15:15:46 +02:00
Jan Steemann 86707b336e do not unregister nodes on unlink 2014-08-21 14:23:07 +02:00
James 9cc85003ff fixed nextId in clone method for execution plans. 2014-08-21 13:59:27 +02:00
James aa03c16be0 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-21 12:53:05 +02:00
James c4811009a8 fixing replaceNode for ExecutionPlan. 2014-08-21 12:32:07 +02:00
James a8801803dd more IndexRangeNode stuff 2014-08-21 11:16:39 +02:00
Jan Steemann 8ff2b8e3d4 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-21 10:02:43 +02:00
Jan Steemann 1aeed2152c fixed de-serialization 2014-08-21 10:02:30 +02:00
Max Neunhoeffer cf6fe967a1 Make enterSubqueries switchable in findNodesOfType 2014-08-21 09:44:59 +02:00
Willi Goesgens d295bacb51 Json: add HTTP-Entrypoint into Javascript deserialisation. 2014-08-20 17:08:06 +02:00
Jan Steemann 3fe8831a03 fixed optimizer bug due to duplicate variable representation 2014-08-20 14:18:33 +02:00
Jan Steemann fa885f40a5 disabled printing 2014-08-20 12:31:32 +02:00
Willi Goesgens 152d8dadcf Json-Dumper: Output json dump; assert equalness. 2014-08-20 11:19:16 +02:00
Jan Steemann 99ce138c12 fixed creation of subqueries from JSON input 2014-08-19 18:51:11 +02:00
Willi Goesgens f179c35f02 Follow changes in Replace & UpdateNode - they have inDoc/inKey/out Variable now.
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2

Conflicts:
	arangod/Aql/ExecutionPlan.cpp
2014-08-19 16:19:38 +02:00
Willi Goesgens 1a6487ab14 Json de/serialization 2014-08-19 16:09:37 +02:00
Jan Steemann 79e68e72e3 fixed removeUnnecessaryCalc 2014-08-19 15:46:04 +02:00
Jan Steemann e4abcdc843 added optimizer rule 2014-08-19 13:59:05 +02:00
Jan Steemann 1030ea1b7c working on optimizer rules 2014-08-19 10:22:08 +02:00
Jan Steemann 2d62ca94cc Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-18 16:31:20 +02:00
James 40f743ccbc adding varSetBy. 2014-08-18 16:29:31 +02:00
Jan Steemann e6e78811b5 fixed replace 2014-08-18 14:27:23 +02:00
Jan Steemann 7b3389b55c modification queries 2014-08-18 13:52:41 +02:00
Jan Steemann b010518e9e implementation of update/replace (update not yet merging old attributes) 2014-08-18 12:34:27 +02:00
Max Neunhoeffer 9e91d9bba3 Finish first optimization rule: remove unnecessary calcs.
So far not activated, because test suite crashes.
Need to look into details.
2014-08-16 00:09:11 +02:00
Jan Steemann 56eb49dcf7 fixed compile error 2014-08-15 18:22:19 +02:00
Jan Steemann b1aceb9771 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-15 18:13:11 +02:00
Jan Steemann 9348f12f78 implemented insert node 2014-08-15 18:12:33 +02:00
Max Neunhoeffer 8d080714a6 Add varUsage information to ExecutionNodes. 2014-08-15 13:29:26 +02:00
Jan Steemann 9306105447 REMOVE 2014-08-15 12:44:35 +02:00
Jan Steemann 773c29cecf further work on RemoveNode 2014-08-15 12:20:17 +02:00
Jan Steemann 655d7759bf added canThrow() for Expression 2014-08-14 20:20:59 +02:00
Jan Steemann dedc2cb035 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-14 16:59:51 +02:00
Jan Steemann b19d632b4a RemoveBlock 2014-08-14 16:59:43 +02:00
Max Neunhoeffer fcdf57ff09 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionEngine.cpp
2014-08-14 15:07:10 +02:00
Max Neunhoeffer f248792865 Make WalkerWorker a template class.
Implement findNodesOfType for ExecutionPlans.
2014-08-14 15:04:59 +02:00
Jan Steemann 0546e9d8ff implemented stub of RemoveBlock 2014-08-14 14:46:53 +02:00
Jan Steemann eed9c2ea42 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-14 13:53:29 +02:00
Jan Steemann 93cfa9e2e4 count number of documents in collection 2014-08-14 13:53:21 +02:00
James 20c7897454 adding estimated cost to json rep of execution nodes/plan. 2014-08-14 11:04:41 +02:00
James 8bb501468f Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-08-14 10:51:49 +02:00
Jan Steemann f911cd254b fixed bug 2014-08-14 10:29:54 +02:00
James 8f5c31e740 added caching of estimatedCost. 2014-08-14 10:29:47 +02:00
Jan Steemann 1ad300cee5 added more node types 2014-08-14 10:23:53 +02:00
Jan Steemann dfe7ec46a5 added RemoveNode 2014-08-14 09:39:58 +02:00
James 66794f9374 more estimateCost. 2014-08-13 18:28:22 +02:00
Jan Steemann 413ce6c50c test fixes 2014-08-12 18:53:49 +02:00
Max Neunhoeffer b9edd4e5f0 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
	arangod/Aql/Types.h
2014-08-08 23:49:10 +02:00
Jan Steemann 61d8998909 aggregate! 2014-08-08 18:56:41 +02:00
Max Neunhoeffer 06260bd740 Fix a bug in creation of EnumerateListBlock.
Case: FOR A in B
ended up with inVar and outVar being the same.
2014-08-08 16:51:00 +02:00
Jan Steemann d623d1a0ab renamed things 2014-08-06 09:42:06 +02:00
Jan Steemann e7c10a2440 add a default sort node 2014-08-05 17:25:46 +02:00
Jan Steemann af288d9fe0 handle subqueries in the AST 2014-08-05 17:07:23 +02:00
Jan Steemann 23d02a3602 added collect plan node generation 2014-08-05 10:23:33 +02:00
Jan Steemann 48935297ac fixed some dependency issues 2014-08-01 15:50:52 +02:00
Jan Steemann 0d7ca46b45 added variables() method 2014-08-01 14:37:29 +02:00
Jan Steemann 69c55d754c renamed "root" to "return" 2014-08-01 12:23:55 +02:00
Jan Steemann 9856d4e9e0 use addNode 2014-08-01 12:19:15 +02:00
Jan Steemann 2881409527 renaming 2014-08-01 11:46:31 +02:00
Max Neunhoeffer 5bf0ff1a7c Rename files ExecutionPlan -> ExecutionNode 2014-08-01 11:26:09 +02:00
Max Neunhoeffer c1b15188ff Rename *Plan to *Node. 2014-08-01 11:17:34 +02:00
Jan Steemann 60d493c56c always use variables 2014-07-31 14:36:03 +02:00
Jan Steemann 4b6ab03102 rename variables in JSON 2014-07-31 14:02:17 +02:00
Jan Steemann fbedb15df8 some more nodes 2014-07-31 13:40:20 +02:00
Max Neunhoeffer 98d82de6fb Create generic recursive walk functionality for Plans/Blocks. 2014-07-31 10:31:45 +02:00
Max Neunhoeffer 2ef0095797 Start static analysis of variables in ExecutionBlocks. 2014-07-30 23:50:03 +02:00
Max Neunhoeffer 22dc301745 Change signature of RootPlan. 2014-07-30 17:05:38 +02:00
Max Neunhoeffer d09f2690da Get rid of _nrVars in ExecutionPlans. 2014-07-30 17:00:38 +02:00
Max Neunhoeffer 87a36596b1 Change Json format of ExecutionPlans. 2014-07-30 15:20:09 +02:00
Max Neunhoeffer 8c3304d242 Add a subquery node type to ExecutionPlans. 2014-07-30 13:45:00 +02:00
Max Neunhoeffer 4f1b5cbe2e Add a test case. 2014-07-30 13:41:22 +02:00
Max Neunhoeffer 92bd4b75d2 Fix signature of SortPlan nodes. 2014-07-30 11:47:45 +02:00
Max Neunhoeffer 14c465ec4d Fix signature of FilterPlan. 2014-07-30 11:42:13 +02:00
Max Neunhoeffer 2b8d497bc8 Repair CalculationPlan, add Json for expressions. 2014-07-30 10:00:25 +02:00
Max Neunhoeffer 944ba6597d Add projection and sort node. 2014-07-30 09:30:59 +02:00
Max Neunhoeffer d5ddf057ca Finish CalculationPlan node. 2014-07-30 09:06:43 +02:00
Max Neunhoeffer 65b477ddbd Snapshot, compiles, does not work. 2014-07-29 13:40:54 +02:00
Max Neunhoeffer 5684bb5b65 Add RootBlock and stuff. 2014-07-28 16:26:24 +02:00
Max Neunhoeffer 325dfb007b Add RootPlan. 2014-07-28 15:51:36 +02:00
Max Neunhoeffer 82889f8626 Add CalculationPlan. 2014-07-28 15:13:40 +02:00
Max Neunhoeffer 0c89dccc5d Add CalculationPlan, create arangod/Aql/Types.h 2014-07-28 13:16:25 +02:00
Max Neunhoeffer 47afbc7ff4 Add FilterNode. 2014-07-28 11:06:33 +02:00
Max Neunhoeffer f2b135ef36 Start infrastructure for execution engine. 2014-07-28 09:41:19 +02:00
Max Neunhoeffer 59683cb964 Add LimitPlan. 2014-07-25 16:55:44 +02:00
Max Neunhoeffer 7c983d0f7b Fix memory allocation issues in Json class. 2014-07-25 15:09:13 +02:00
Max Neunhoeffer b6122ad3dc Snapshot, this version has memcheck problems. 2014-07-25 14:25:22 +02:00
Max Neunhoeffer 462be601cf Use new Json wrapper class. 2014-07-25 00:32:30 +02:00
Max Neunhoeffer e6da8c63e2 Change Json wrapper class test. 2014-07-24 23:41:44 +02:00
Max Neunhoeffer 970ad56b2b Add new node type. appendAsString method missing. 2014-07-24 14:13:34 +02:00
Max Neunhoeffer d9876b1c5a First draft of infrastructure for ExecutionPlan. 2014-07-24 13:51:21 +02:00
Max Neunhoeffer 97071bcabb Start ExecutionPlan infrastructure. 2014-07-24 11:50:13 +02:00