Wilfried Goesgens
327b408a22
Start implementing early filtering of paths to exclude from the result
2015-10-28 12:37:13 +01:00
Michael Hackstein
9bcbdc3565
Fixed failures in the SkiplistIndex and removed use-index-range rule
2015-10-12 17:46:04 +02:00
Jan Steemann
b0798bbb19
first commit, broken
2015-09-16 17:22:09 +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
d9add3a493
fixed collect in cluster
2015-04-16 21:10:48 +02:00
Jan Steemann
9f2643acaa
show type of collect method in explain
2015-04-16 16:29:36 +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
1298bd40a8
added tests for out-of-memory situations
2015-03-20 08:54:15 +01:00
Jan Steemann
7c5cc16a8a
less locking for cluster status checks
2015-02-18 18:14:12 +01:00
Jan Steemann
205736a028
added optimizer rule "propagate-constant-attributes"
2015-02-15 13:29:53 +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
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
Max Neunhoeffer
665777c59a
Make dummyRule local in the optimizer.
2014-08-28 14:49:33 +02:00
Jan Steemann
e686fcaa85
fixed unused variables warning
2014-08-28 14:18:14 +02:00
Jan Steemann
844955cafd
disabled debug output
2014-08-28 14:10:41 +02:00
Jan Steemann
531bb921ff
disabled broken rules
2014-08-28 14:04:32 +02:00
Max Neunhoeffer
9b49328218
Rearrange levels for optimizer rules. Use rules multiple times.
2014-08-28 13:46:46 +02:00
Max Neunhoeffer
e1b557ff20
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/Optimizer.cpp
2014-08-28 13:33:33 +02:00
Max Neunhoeffer
338a9c6c54
Implement permutation of EnumerateCollectionNodes.
...
Also: restructure leveling of rules.
And: remove some debugging output (and add some other).
2014-08-28 13:28:04 +02:00
Jan Steemann
2eb38c9657
remove-redundant-sorts, initial
2014-08-28 12:39:28 +02:00
Jan Steemann
2d2df1b5da
added TODO
2014-08-28 00:18:19 +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
b2d44cd35e
Add show() for ExecutionPlans.
2014-08-27 22:10:38 +02:00
Max Neunhoeffer
c079de3a94
Adjust a cout message.
2014-08-27 16:58:20 +02:00
Max Neunhoeffer
4441316115
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 16:52:57 +02:00
Max Neunhoeffer
449d0cd961
Completely redo the optimizer.
2014-08-27 16:52:38 +02:00
James
ad3e6d22a1
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-26 13:02:58 +02:00
James
bf952d37be
IndexRangeBlock working for hash indexes.
2014-08-26 13:02:31 +02:00
Willi Goesgens
10603f904d
Walker: the process of walking now is aborted if the before-hook returns true.
2014-08-25 15:48:21 +02:00
James
033735fbba
removing debug output and commenting out useIndexRange.
2014-08-25 13:12:19 +02:00
James
c801fc4992
deserialising of IndexRangeNode finally working.
2014-08-25 13:05:22 +02:00
Jan Steemann
04fbe668cc
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-22 17:58:12 +02:00
Jan Steemann
1d34fa4896
stub for IndexRangeBlock
2014-08-22 17:58:02 +02:00
Max Neunhoeffer
4b229c5873
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
lib/Basics/JsonHelper.h
2014-08-22 17:02:06 +02:00
Max Neunhoeffer
8fd6cd1184
Implement clear unneeded registers.
2014-08-22 17:00:53 +02:00
Willi Goesgens
8a402683ed
Optimizers: start implementing the sorting via indexes.
2014-08-22 16:48:52 +02:00
Jan Steemann
55608ceae2
use index nodes
2014-08-22 13:53:01 +02:00
Jan Steemann
4482d840ac
added moveFiltersUpRule
2014-08-21 16:54:01 +02:00
Jan Steemann
0205f651a6
working on moveCalculationsUpRule
2014-08-21 15:54:40 +02:00
Jan Steemann
51c89c6829
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionPlan.cpp
arangod/Aql/ExecutionPlan.h
2014-08-21 15:24:11 +02:00
Jan Steemann
1d78071176
fixed filter removal optimizer rule
2014-08-21 13:57:08 +02:00
James
bcaf26cba1
removing debug comments.
2014-08-21 13:14:41 +02:00
Jan Steemann
670b407185
disable filters that never produce results
2014-08-20 18:24:52 +02:00