1
0
Fork 0
Commit Graph

3918 Commits

Author SHA1 Message Date
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
Jan Steemann b3ed6a2b38 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-12 15:28:00 +02:00
Jan Steemann e329864efc fixed function calls that do not return values 2014-08-12 15:27:44 +02:00
Max Neunhoeffer 58d062d426 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-12 15:26:08 +02:00
Max Neunhoeffer 73abdf80f3 Redo exception-safe SortBlock. 2014-08-12 15:25:40 +02:00
Jan Steemann 7feea4c640 fixed [] attribute access 2014-08-12 14:02:46 +02:00
Jan Steemann 162681ada4 fixed handling of ranges 2014-08-12 14:00:51 +02:00
Max Neunhoeffer 449b92aa0a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-12 13:26:26 +02:00
Max Neunhoeffer 3f67262e07 Teach AqlItemBlocks to reference count. 2014-08-12 13:25:35 +02:00
Jan Steemann 19e39fb80e fixed another test 2014-08-12 11:59:09 +02:00
Jan Steemann 0b2b1e83db fixed handling of bind parameters 2014-08-12 11:52:17 +02:00
Jan Steemann c5fc5b7de8 fixed collection argument conversion 2014-08-12 11:13:23 +02:00
James 09cb203f8c getOrSkipSome method for singleton block. 2014-08-12 10:53:53 +02:00
James d0a7f2890f generic getOrSkipSome for ExecutionBlock base class. 2014-08-12 10:45:08 +02:00
James 835c30edbc want to inspect previous version of function 2014-08-12 10:18:00 +02:00
Frank Celler 7a6d5413a1 database version is now AABBCC, where AA = major, BB = minor, CC = patch 2014-08-12 09:58:42 +02:00
Willi Goesgens 36fef2ab97 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-12 09:46:46 +02:00
Willi Goesgens 382fca6521 Add GRAPH_ABSOLUTE_BETWEENNESS mapping which was gone missing. 2014-08-12 09:46:17 +02:00
James 702e143fd6 further updating of skipSome method for AggregateBlock after changes to getSome
method.
2014-08-12 09:34:48 +02:00
James 8b71fca20c removed some unnecessary lines from skipSome method for AggregateBlock. 2014-08-12 09:11:37 +02:00
Jan Steemann 7df456a1dd rework of COLLECT 2014-08-11 20:06:08 +02:00
Jan Steemann 83ceedf48e Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-11 18:05:35 +02:00
Jan Steemann 88f6e527f9 small changes 2014-08-11 18:05:27 +02:00
Jan Steemann 5bc797b4d1 made DefaultBatchSize public 2014-08-11 18:04:35 +02:00
James 42bfc02d7f Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 17:10:43 +02:00
James 9c87992bd9 fixed bug in skipSome method for EnumerateListBlock. 2014-08-11 17:10:32 +02:00
Max Neunhoeffer 283edc67cf Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 17:01:16 +02:00
Max Neunhoeffer 933ca8f245 Add another assertion. 2014-08-11 17:01:04 +02:00
James 7d98ab731d removing debugging output. 2014-08-11 16:40:40 +02:00
James c911b93ebd skipSome method for AGGREGATE block. 2014-08-11 16:36:02 +02:00
James 3e32dafc91 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:56:57 +02:00
James 94e0d88067 skipSome method for FilterBlocks. 2014-08-11 15:56:49 +02:00
Max Neunhoeffer ef9430c49d Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:55:41 +02:00
Jan Steemann cbd753b285 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:54:54 +02:00
Jan Steemann 3cea81d8c5 fixed [*] operator 2014-08-11 15:54:42 +02:00
Max Neunhoeffer 71b97f892f Another initialization bug fixed. 2014-08-11 15:54:01 +02:00
Max Neunhoeffer 07b560cf68 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:45:28 +02:00
Max Neunhoeffer 12ea8fcf74 Fix bugs when .initialize is called multiple times. 2014-08-11 15:44:41 +02:00
James 36147733a1 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:41:38 +02:00
James f94b2c22cc fixed bug in skipSome for EnumerateListBlock, and in limit node. 2014-08-11 15:41:30 +02:00
Jan Steemann 562054134e prevent double-free 2014-08-11 15:34:11 +02:00
Jan Steemann a2061f66a3 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-11 14:54:25 +02:00
Jan Steemann 24f1f979d0 fixed jsonification of values 2014-08-11 14:54:14 +02:00
Jan Steemann af1ecf44a4 GRAPH_TRAVERSAL_TREE 2014-08-11 14:48:58 +02:00
James b9cafc7c67 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 14:30:59 +02:00