1
0
Fork 0
Commit Graph

3962 Commits

Author SHA1 Message Date
Jan Steemann fa885f40a5 disabled printing 2014-08-20 12:31:32 +02:00
Jan Steemann 6eaf1de8da fixed invalid cast 2014-08-20 12:11:16 +02:00
James 24b2dd1906 finding index in CalculationNodeFinder. 2014-08-20 11:38:02 +02:00
Jan Steemann afdf9e5d2b Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-20 11:20:25 +02:00
Jan Steemann a82a259df9 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-20 11:19:51 +02:00
Jan Steemann 52566a2975 optimizations for list expressions 2014-08-20 11:19:28 +02:00
Willi Goesgens 152d8dadcf Json-Dumper: Output json dump; assert equalness. 2014-08-20 11:19:16 +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 86b4ad512e fixing merge problems from last. 2014-08-19 17:10:04 +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 68af283cbe add ModificationOptions CPP-File 2014-08-19 16:11:54 +02:00
Jan Steemann 232cc163c2 renamed optimizer rule 2014-08-19 16:10:57 +02:00
Willi Goesgens 1a6487ab14 Json de/serialization 2014-08-19 16:09:37 +02:00
Jan Steemann 70a4f49095 removed commented code 2014-08-19 16:09:10 +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 b82b0fbefc remove comment and update the toJsonHelper for IndexRangeNode. 2014-08-19 12:08:22 +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
Jan Steemann 1030ea1b7c working on optimizer rules 2014-08-19 10:22:08 +02:00
Frank Celler 7b3cdf0bd0 fixed gc 2014-08-19 08:03:58 +02:00
Frank Celler 9fa3d22d6c towards new dispatcher interface 2014-08-18 23:37:32 +02:00
James ad8e179cf1 adding unbounded ranges info for IndexRangeNode. 2014-08-18 17:18:58 +02:00
Jan Steemann 36430620fa remove filters which are always true 2014-08-18 17:03:08 +02:00
Jan Steemann b923e660e8 comments 2014-08-18 16:58:31 +02:00
Jan Steemann f41e0313fe added optimization rule for constant filters (not yet working) 2014-08-18 16:53:45 +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 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 1118add7e6 uncommenting out. 2014-08-18 14:15:40 +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 fccfca0e47 refactoring 2014-08-18 13:22:40 +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
Frank Celler 986bf7d0e8 added dispatcherThreads 2014-08-18 12:08:33 +02:00
James 8f6fd0e4c4 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-18 11:11:46 +02:00
James f1a7ca51be adding range info to toJsonHelper. 2014-08-18 11:11:27 +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 f8cf5dc26d Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
2014-08-15 18:47:18 +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 97fd5a55ba renamed variable 2014-08-15 18:12:58 +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
Max Neunhoeffer 9138be31b9 Take out some debugging output. 2014-08-15 16:09:10 +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 b5d2bf6932 Sort out memory management of plans with the optimizer.
Slightly adapt optimization strategy.
2014-08-15 15:05:06 +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
Max Neunhoeffer 21eda8a212 Withdraw some operator magic for Json wrapper class. 2014-08-15 13:29:01 +02:00
Jan Steemann 631a73d9cb moved analyzeExpression() call into constructor 2014-08-15 13:14:45 +02:00
James a0db57b7f9 adding an Index object, and initial IndexRangeNode. 2014-08-15 12:57:52 +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
Thomas Schmidts 415fefdafa Fixed small formatation error 2014-08-15 11:01:56 +02:00
Jan Steemann 655d7759bf added canThrow() for Expression 2014-08-14 20:20:59 +02:00
Jan Steemann 19da250191 fixed error 2014-08-14 19:21:08 +02:00
Jan Steemann 2dbd8252c4 remove compile warning 2014-08-14 17:31:30 +02:00
Jan Steemann cfefe17a15 fixed types 2014-08-14 17:29:58 +02:00
James 6f6648781e Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-14 17:17:54 +02:00
James 6292cafa52 fixed bugs in last. 2014-08-14 17:17:37 +02:00
Jan Steemann 070e61178b Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-14 17:04:28 +02:00
James eb6cf43efc added additional options to JS_ExecuteAql. 2014-08-14 17:00:20 +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
James b5327b3770 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-14 15:21:07 +02:00
James 392c1db4c3 JS_ExecuteAql now returns a cursor. 2014-08-14 15:20:52 +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 8d43a2463a Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-14 14:47:05 +02:00
Jan Steemann 0546e9d8ff implemented stub of RemoveBlock 2014-08-14 14:46:53 +02:00
Max Neunhoeffer 50851bfcba 2nd try at infrastructure for optimizer. 2014-08-14 14:33:03 +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
Willi Goesgens 8da5a6c0b3 Cleanup: killall tabs. 2014-08-14 13:17:21 +02:00
Max Neunhoeffer 1de9f0bfe5 Create infrastructure for the query optimizer. 2014-08-14 11:16:21 +02:00
James e171a347dd Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-14 11:04:53 +02:00
James 20c7897454 adding estimated cost to json rep of execution nodes/plan. 2014-08-14 11:04:41 +02:00
Willi Goesgens f24cdc24d8 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-14 10:58:21 +02:00
Willi Goesgens e2732ccccc Refactor ExecutionBlock - move all methods into the cpp file. 2014-08-14 10:53:10 +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
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
Jan Steemann 10da82fae0 removed unused and non-working operator[] 2014-08-13 18:57:14 +02:00
Jan Steemann 744ea77bde initialize variable 2014-08-13 18:53:43 +02:00
James 1f309a8402 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-13 18:39:19 +02:00
James 0403c54220 can't use this[0] in last. 2014-08-13 18:39:09 +02:00
Willi Goesgens 233f654e74 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-13 18:28:51 +02:00
Willi Goesgens 004d9bdbbb Implement Simple Expression evaluation for Arrays. 2014-08-13 18:28:22 +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 67b0a9de5c Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-13 16:30:08 +02:00
Jan Steemann 30b32f1f90 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Ahuacatl/ahuacatl-grammar.h
	arangod/V8Server/v8-vocbase.cpp
	js/server/tests/ahuacatl-general-graph.js
2014-08-13 16:29:57 +02:00
James 69ad2e3209 tweaking ExecutionEngine initialisation. 2014-08-13 16:24:31 +02:00
Jan Steemann 277290fc0e unification with aql2 code 2014-08-13 16:22:17 +02:00
James 389da13d7a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-13 16:17:26 +02:00
James 11ffc1cac0 added getSome etc methods to ExecutionEngine. 2014-08-13 16:16:42 +02:00
Max Neunhoeffer 34ffa100ee Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-13 16:03:46 +02:00
Max Neunhoeffer 85bff66b63 Make the SingletonBlock reset _done when initCursor is called. 2014-08-13 16:03:21 +02:00
Jan Steemann 8c24436b69 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-13 16:00:09 +02:00
Jan Steemann 8f9591ca1e properly stringify _from and _to attributes using CollectionNameResolver 2014-08-13 15:59:56 +02:00
Max Neunhoeffer e85fd5fd22 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-13 15:45:20 +02:00
Max Neunhoeffer 3e135323dd Change the API one more time. 2014-08-13 15:44:44 +02:00
Jan Steemann 3fd352e7d7 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-13 15:40:06 +02:00
Jan Steemann ea418088c5 fixed simple expressions 2014-08-13 15:39:56 +02:00
James 3b91313ef7 replacing getSome and skipSome methods for limit block with getOrSkipSome
method.
2014-08-13 15:25:04 +02:00
James 6a8b2d3254 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-13 15:06:44 +02:00
James 22b2bedc59 skipSome method for limit block now working. 2014-08-13 15:06:34 +02:00
Jan Steemann 2cbf14716e Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-13 14:22:51 +02:00
Jan Steemann 69f99324f2 added simple expressions 2014-08-13 14:22:14 +02:00
Max Neunhoeffer 28f0d7be05 Sort out TRI_CompareValuesJson to use UTF8 on demand. 2014-08-13 14:22:05 +02:00
James fafad41150 Complete merge. 2014-08-13 12:47:32 +02:00
James 19f01bab0a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
2014-08-13 10:26:33 +02:00
James fa29a2ecb0 removed deprecated skipSome method from AggregateBlock. 2014-08-13 09:41:11 +02:00
James b05ae9668c removed deprecated skipSome from FilterBlock. 2014-08-13 09:40:22 +02:00
Max Neunhoeffer 684384e313 Cleanup ExecutionBlocks w.r.t. exceptions and leakages.
Note:
  Aggregate not completely checked.
  Left some FIXMEs.
2014-08-13 00:27:34 +02:00
Max Neunhoeffer e2851d1b2d Adjust some indentation. 2014-08-12 22:57:56 +02:00
James eed06f6512 method for getOrSkipSome for AggregateBlock, now working. 2014-08-12 20:06:18 +02:00
Jan Steemann 52911293f7 added special compare function to take into account floating point differences 2014-08-12 19:14:13 +02:00
Jan Steemann 413ce6c50c test fixes 2014-08-12 18:53:49 +02:00
Jan Steemann d06dd817b0 removed some default cases 2014-08-12 17:03:06 +02:00
James 98393aca94 removing DEBUG statements. 2014-08-12 16:59:00 +02:00
James 0c558f57b8 getOrSkipSome method for FilterBlock. 2014-08-12 16:57:12 +02:00
Jan Steemann 13849b2c77 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-12 16:54:07 +02:00
Jan Steemann 14e136f6d4 fixed enumeration over empty docvec 2014-08-12 16:53:58 +02:00
Max Neunhoeffer afaabc7964 Fix bug in skipSome of EnumerateCollectionBlock. 2014-08-12 16:49:00 +02:00
James a62cba0306 reversing changes to skipSome and getSome for EnumerateCollectionBlock. 2014-08-12 16:38:21 +02:00
Jan Steemann 6400912c3a some comments 2014-08-12 16:19:48 +02:00
Max Neunhoeffer cb56e2175f Fix SortBlock empty bug. 2014-08-12 16:00:31 +02:00
Max Neunhoeffer 132b22e0bb Further bugfixes with AqlItemBlock and AqlValue allocations. 2014-08-12 15:52:27 +02:00
Max Neunhoeffer c1c84cdf15 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-12 15:36:05 +02:00
Max Neunhoeffer 758b6b7cfc Fix problems with empty AqlValues in hashes. 2014-08-12 15:35:49 +02:00