1
0
Fork 0
Commit Graph

117 Commits

Author SHA1 Message Date
jsteemann fd29ccdbc5 Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-13 23:37:22 +01:00
jsteemann 600c48375d added optimizer rule `sort-in-values` 2015-12-13 23:33:44 +01:00
Michael Hackstein 757577de42 Updated VPack addObject to openObject 2015-12-09 11:28:54 +01:00
Jan Steemann 5c033f566b Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-04 13:47:08 +01:00
hkernbach 6d25ac57e9 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-12-01 11:25:58 +01:00
Jan Steemann 0dd207f9f5 Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-01 11:14:12 +01:00
jsteemann 37f72fa721 micro optimizations 2015-11-30 19:37:58 +01:00
Jan Steemann 9ef5b4746a removed several includes from Common.h 2015-11-25 12:21:55 +01:00
Michael Hackstein fbee0b0859 Started to transform Parts of AQL Query to VPack. Especially the QueryResult is now using VPack internally. 2015-11-12 11:09:35 +01:00
Wilfried Goesgens 327b408a22 Start implementing early filtering of paths to exclude from the result 2015-10-28 12:37:13 +01:00
Jan Steemann 197be68f7d removed IndexRange* 2015-10-13 15:12:32 +02:00
Jan Steemann b0798bbb19 first commit, broken 2015-09-16 17:22:09 +02:00
CoDEmanX 3a9648d78a More Americanization 2015-09-03 22:25:43 +02:00
Jan Steemann dc1910e331 added AQL optimizer rule `patch-update-statements` 2015-08-13 13:02:47 +02:00
Jan Steemann 2d8777bc6c make the optimizer create less plans 2015-07-30 00:07:32 +02:00
Jan Steemann 3bb5eb1a9d small optimizations 2015-06-02 23:20:00 +02:00
Jan Steemann 8b8918f72c added (still disabled) rule fuse-calculations 2015-06-02 21:32:38 +02:00
Jan Steemann ff6e56d89c adjusted some tests 2015-04-15 23:45:07 +02:00
Jan Steemann 8926e3f2e2 initial commit 2015-04-15 19:04:21 +02:00
Jan Steemann 2f58e4ea61 small cleanup 2015-03-25 12:42:44 +01:00
Jan Steemann 205736a028 added optimizer rule "propagate-constant-attributes" 2015-02-15 13:29:53 +01:00
Jan Steemann c18ff7f300 use-index-for-sort rule can now remove sorts in more cases 2015-02-02 22:53:25 +01:00
Jan Steemann d348f60e59 added AQL optimizer rule "move-calculations-down" 2015-01-22 20:36:38 +01:00
Jan Steemann 62696b6984 prerequisites for further COLLECT optimizations 2015-01-07 09:42:46 +01:00
Jan Steemann 6d6d67f06f activated optimizer rule remove-sort-rand
fixed tests, updated documentation
2014-12-21 18:50:50 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Willi Goesgens 115f226385 Optimizer: Enable removing of filternodes if the index can handle the filter condition. 2014-12-12 21:39:35 +01:00
Jan Steemann 2fbc53f711 fixed potential leaks 2014-12-09 16:27:05 +01:00
Max Neunhoeffer fc79c31661 More sensible plan management in useIndexRangeNode optimizer rule. 2014-12-08 15:37:01 +01:00
Jan Steemann 4c43c1bdaf less plans created by optimizer 2014-12-04 12:49:34 +01:00
Jan Steemann 4f39b9e358 optimize away `INTO` of `COLLECT` if unused 2014-12-03 13:49:03 +01:00
Jan Steemann 4ef82239a3 added optimizer statistics 2014-12-03 11:38:56 +01:00
Jan Steemann 45ebdf7581 enable more indexes 2014-11-26 19:49:28 +01:00
James 3e612acdda Merge branch 'aql-feature-lazy-index' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-11 08:23:23 +00:00
James 08e8fd193e Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-11 08:21:40 +00:00
Jan Steemann 4a8726ee35 added "split-filters" rule but did not activate it 2014-11-11 00:27:37 +01:00
Jan Steemann 9c5d150866 use Ast::ReverseOperator 2014-11-08 22:31:31 +01:00
James 586cacc2ee replace-redundant-OR optimizer rule first version. 2014-11-08 13:45:14 +00:00
Jan Steemann c8c16767be added rule to remove filters if covered by index ranges - not yet activated 2014-11-06 23:18:18 +01:00
James 1ff7e8d252 cleaning up 2014-11-03 10:42:16 +00:00
James d12b5baf12 first try at replace-OR-with-IN optimizer rule. 2014-11-01 14:30:18 +00:00
Jan Steemann 8bb213e7ba sort and cache list expression values
emplace

fixed wrong assertion
2014-10-29 01:02:20 +01:00
Jan Steemann 0e27ccbfdb jslintified tests 2014-10-28 15:59:38 +01:00
James 602f03e4e3 adding distribute-in-cluster optimizer rule. 2014-10-14 10:19:27 +01:00
James 084078f61f fixed tests for remove-unnecessary-remote-scatter and undistribute-remove-after-enum-coll, renamed distributeInCluster to scatterInCluster. 2014-10-09 08:45:34 +01:00
James 7a34d065b5 cleaning up and registering undistributeRemoveAfterEnumColl. 2014-10-01 10:43:54 +01:00
James d204ce4019 adding registration of the remove unnecessary remote scatter optimizer rule. 2014-09-30 08:29:21 +01:00
Willi Goesgens 53ee658be0 Implement moving of sortnode into the clusterable part of the query; add elements to the json serialisation of the gather node 2014-09-26 12:35:58 +02:00
Willi Goesgens 6c81f630a3 Add filter rule which moves Filters & Calculations into the parts of a Plan that is distributed to clusters. 2014-09-25 17:08:20 +02:00
Jan Steemann 68232715f1 fixed compile warning 2014-09-19 09:05:52 +02:00
Jan Steemann 0b5c5ae3df added `maxNumberOfPlans` option 2014-09-18 23:56:09 +02:00
Jan Steemann bd62c36771 scatter / gather 0.0 2014-09-17 16:00:54 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Willi Goesgens 202636cee0 Refactor Optimizer ordering
- create enum with the different steps named
  - unify numbering scheme
  - deploy enum to all places where int level was used
  - add passN enum so you can jump to a Pass when calling addPlan

useIndexForSort:
  - remove inline deletion of dependend nodes of our (removed) sortnode
  - redirect to pass #5 so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 16:27:49 +02:00
Jan Steemann 91590f754f Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 15:49:35 +02:00
Jan Steemann b8e12063e2 added "rules" output 2014-08-29 15:27:02 +02:00
Jan Steemann 43ec93109f optimizer rules are now kept in a sorted map
rules can optionally be disabled at runtime
2014-08-29 00:08:29 +02:00
Jan Steemann 844955cafd disabled debug output 2014-08-28 14:10:41 +02:00
Jan Steemann a409f37dc6 re-use already declared optimizer rules for all queries 2014-08-28 00:03:23 +02:00
Jan Steemann b10ae65d58 rules have names 2014-08-27 23:53:53 +02:00
Max Neunhoeffer 449d0cd961 Completely redo the optimizer. 2014-08-27 16:52:38 +02:00
Jan Steemann 683fbf4ec4 using emplace 2014-08-23 00:48:39 +02:00
Jan Steemann 30c6b26b6d add plans! 2014-08-22 10:44:19 +02:00
Jan Steemann 0205f651a6 working on moveCalculationsUpRule 2014-08-21 15:54:40 +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 50851bfcba 2nd try at infrastructure for optimizer. 2014-08-14 14:33:03 +02:00
Max Neunhoeffer 1de9f0bfe5 Create infrastructure for the query optimizer. 2014-08-14 11:16:21 +02:00