1
0
Fork 0
Commit Graph

282 Commits

Author SHA1 Message Date
James 409e663818 fixed bugs in comparison of tightness of range bounds, and made it so that invalid ranges insert NoResultNode in the plan. 2014-08-21 17:14:42 +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
James 102e866a89 adding canThrow methods for ExecutionNodes. 2014-08-21 15:46:41 +02:00
James 4d17c347cc bug fixes in last. 2014-08-21 15:38:42 +02:00
James deaa8f1271 only applying hash indexes if ranges indicate equality. 2014-08-21 15:27:53 +02:00
Max Neunhoeffer 321ab35551 Finish _parents in ExecutionNodes business. 2014-08-21 15:15:46 +02:00
Max Neunhoeffer 3007899abe Make an ExecutionNode store its parents. 2014-08-21 13:51:37 +02:00
James 7b5f52069a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-21 13:16:24 +02:00
Jan Steemann 0e8b61124e less verbose AST dumps in AQL_PARSE 2014-08-21 13:08:21 +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
Jan Steemann 1edd170317 turned off optimization 2014-08-21 11:21:03 +02:00
James a8801803dd more IndexRangeNode stuff 2014-08-21 11:16:39 +02:00
Max Neunhoeffer 52f48cd296 Add NoResultsNode. 2014-08-21 10:17:18 +02:00
Jan Steemann 670b407185 disable filters that never produce results 2014-08-20 18:24:52 +02:00
James b5d4fc52d1 added clone method for execution plan, removed debug prints. 2014-08-20 16:34:35 +02:00
James 260c790bc5 fixed bugs in last. 2014-08-20 16:13:53 +02:00
Jan Steemann 3fe8831a03 fixed optimizer bug due to duplicate variable representation 2014-08-20 14:18:33 +02:00
James 24b2dd1906 finding index in CalculationNodeFinder. 2014-08-20 11:38:02 +02:00
Willi Goesgens 0ad6da9427 Json Serialisation: Use helper function to read variables from the json 2014-08-20 10:57:59 +02:00
Jan Steemann 592ada1d36 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-08-19 18:58:32 +02:00
Jan Steemann 99ce138c12 fixed creation of subqueries from JSON input 2014-08-19 18:51:11 +02:00
James 447282d0bd Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Optimizer.cpp
	arangod/Aql/OptimizerRules.cpp
2014-08-19 17:00:16 +02:00
James c0ce6d361c AND working for IndexRangeNode. 2014-08-19 16:58:10 +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
James 370892566f added new class to contain ranges, and take their intersections. 2014-08-19 15:53:17 +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
James 857083adc9 starting to add optimizer rules which create IndexRangeNodes. 2014-08-19 12:02:50 +02:00
James 04b396f65e adding RangeInfoBound to clean things up. 2014-08-19 11:01:06 +02:00
James ad8e179cf1 adding unbounded ranges info for IndexRangeNode. 2014-08-18 17:18:58 +02:00
Jan Steemann 0666708206 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-18 14:27:37 +02:00
Jan Steemann e6e78811b5 fixed replace 2014-08-18 14:27:23 +02:00
James fb1d69bbae Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-18 14:12:10 +02:00
James 13aeacc43c fixed compiler errors, and working on IndexRangeNode. 2014-08-18 14:12:00 +02:00
Jan Steemann 7b3389b55c modification queries 2014-08-18 13:52:41 +02:00
Jan Steemann bdfef136bf Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-18 12:34:41 +02:00
Jan Steemann b010518e9e implementation of update/replace (update not yet merging old attributes) 2014-08-18 12:34:27 +02:00
James 8f6fd0e4c4 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-18 11:11:46 +02:00
James a79f72087d adding Index caching, and cleaning up last. 2014-08-18 10:46:47 +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 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 f671fb7e36 Add the first actual optimization rule (as a stub). 2014-08-15 16:54:53 +02:00
Max Neunhoeffer af2c9d1a92 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-15 16:10:12 +02:00
Max Neunhoeffer 92f3ca5dc8 Fix bug in varUsageFinder. 2014-08-15 16:09:58 +02:00
James ac58a0a9d3 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-15 15:31:31 +02:00
James c128cc716e version of IndexRangeNode accepting range information as an argument. 2014-08-15 15:31:23 +02:00
Max Neunhoeffer ceff1481ed Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-15 13:55:21 +02:00
James 6bbbc34150 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-08-15 13:54:50 +02:00
James 47244fb48e initial version of IndexRangeNode. 2014-08-15 13:52:52 +02:00
Max Neunhoeffer 8d080714a6 Add varUsage information to ExecutionNodes. 2014-08-15 13:29:26 +02:00
James a0db57b7f9 adding an Index object, and initial IndexRangeNode. 2014-08-15 12:57:52 +02:00
Jan Steemann 773c29cecf further work on RemoveNode 2014-08-15 12:20:17 +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 93cfa9e2e4 count number of documents in collection 2014-08-14 13:53:21 +02:00
James 9dc437f19a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-14 10:52:05 +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 0a850501b6 added override specifier 2014-08-14 10:32:41 +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
Jan Steemann 10da82fae0 removed unused and non-working operator[] 2014-08-13 18:57:14 +02:00
James 0403c54220 can't use this[0] in last. 2014-08-13 18:39:09 +02:00
James 66794f9374 more estimateCost. 2014-08-13 18:28:22 +02:00
James c8a7779b14 initial framework for estimateCost method for execution nodes. 2014-08-13 17:38:15 +02:00
Jan Steemann 7feea4c640 fixed [] attribute access 2014-08-12 14:02:46 +02:00
Jan Steemann 8b830974c7 fixed parser errors 2014-08-08 20:12:10 +02:00
Jan Steemann 61d8998909 aggregate! 2014-08-08 18:56:41 +02:00
Max Neunhoeffer 83a60e578e Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-07 11:56:50 +02:00
Max Neunhoeffer 1d6f7bc3d2 Sort out bind as a preparation for subqueries. 2014-08-07 11:56:26 +02:00
Jan Steemann 8e229ec2b2 stringification of function parameters 2014-08-07 11:44:22 +02:00
Max Neunhoeffer 7b65a958d8 Take care of static analyis case AggregateNode. 2014-08-06 15:13:22 +02:00
Jan Steemann d623d1a0ab renamed things 2014-08-06 09:42:06 +02:00
Max Neunhoeffer fabfeae14d Add LimitNode. Implement skip generically. 2014-08-04 16:34:37 +02:00
Jan Steemann 8de760bf1b added expression function 2014-08-01 13:58:51 +02:00
Jan Steemann 69c55d754c renamed "root" to "return" 2014-08-01 12:23:55 +02:00
Max Neunhoeffer e7e98262ea Redo instanciator using Walker and in ExecutionEngine. 2014-08-01 11:56:39 +02:00
Max Neunhoeffer 5bf0ff1a7c Rename files ExecutionPlan -> ExecutionNode 2014-08-01 11:26:09 +02:00