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
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
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
31d875921f
removed TODOs
2014-10-30 00:45:55 +01:00
Max Neunhoeffer
b0e08bd8eb
Take out some debugging output.
2014-10-29 15:42:03 +01:00
Jan Steemann
ca15e72b14
fixed test
2014-10-29 12:33:10 +01:00
Jan Steemann
0e27ccbfdb
jslintified tests
2014-10-28 15:59:38 +01:00
Jan Steemann
f6b8f17dfa
less optimizations for simple plans
2014-10-28 15:01:44 +01:00
Jan Steemann
529bf386d7
fixed some API errors
2014-10-28 11:30:49 +01:00
Max Neunhoeffer
d564fca3d2
Make distribute-filtercalc-in-cluster switch-off-able.
2014-10-27 10:34:51 +01:00
Max Neunhoeffer
e9aded7b5e
Make distribute-sort-to-cluster switch-off-able.
2014-10-27 10:28:06 +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
3daaaad855
fixing last
2014-09-30 08:48:29 +01:00
James
301ccddf83
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-30 08:29:36 +01:00
James
d204ce4019
adding registration of the remove unnecessary remote scatter optimizer rule.
2014-09-30 08:29:21 +01:00
Jan Steemann
643ffa104d
moved isCoordinator to function of its own
2014-09-29 09:38:15 +02:00
Jan Steemann
188fe0c43c
accidently committed local modifications. revert
2014-09-29 09:31:27 +02:00
Jan Steemann
0d075dca3f
pass queryRegistry into the AQL functions
2014-09-29 09:30:32 +02: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
54b5e7b034
slightly improved access to dynamic bounds
2014-09-16 15:10:43 +02:00
Jan Steemann
a5c52998e8
remove redundant calculations
2014-09-12 15:10:48 +02:00
Jan Steemann
4ab6d8f658
fixed clone method for IndexRangeNode
2014-09-10 10:43:32 +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
2a49bf843d
updated tests
2014-09-09 15:20:42 +02:00
Max Neunhoeffer
bf1f11e651
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-29 16:57:56 +02:00
Max Neunhoeffer
fa9e55eafb
Finish taking into account multiple FILTER for IndexRangeRule.
2014-08-29 16:57:34 +02:00
Willi Goesgens
24128830ca
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-29 16:45:55 +02:00
Willi Goesgens
0cb12fc3f5
SortIndex: initialize the rangeInfo the proper way.
2014-08-29 16:45:20 +02:00
Jan Steemann
3b2cf352ad
added functionality to activate/deactivate optimizer rules
2014-08-29 16:31:07 +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
James
fd4b4e5df4
"proper" estimateCost method for IndexRangeNode.
2014-08-29 14:22:46 +02:00
Willi Goesgens
be1c84f480
Exceptions: don't print Backtraces if the exception is handled in the subsequent js code.
2014-08-29 12:15:19 +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