Jan Steemann
|
91e8884518
|
added AggregateNode.*
|
2015-09-30 15:55:38 +02:00 |
Jan Steemann
|
50fa5a2138
|
added SortNode file
|
2015-09-30 15:42:48 +02:00 |
Jan Steemann
|
9041b7b2c9
|
file split
|
2015-09-30 15:29:32 +02:00 |
Jan Steemann
|
d99f7a498d
|
moved index nodes to their own files
|
2015-09-30 15:13:49 +02:00 |
Jan Steemann
|
b5cf8ce942
|
moved cluster nodes out of ExecutionNode.*
|
2015-09-30 14:51:11 +02:00 |
Jan Steemann
|
ccd06fc1a4
|
simplified ConditionFinder
|
2015-09-25 18:01:02 +02:00 |
Jan Steemann
|
d5dabfb528
|
Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
Conflicts:
arangod/Aql/OptimizerRules.cpp
|
2015-09-25 17:41:10 +02:00 |
Jan Steemann
|
d51c984f11
|
use findEndNodes
|
2015-09-25 17:39:23 +02:00 |
Michael Hackstein
|
17a45c8cd3
|
Fixed potential memleaks in failure cases
|
2015-09-25 17:38:04 +02:00 |
Michael Hackstein
|
2a342fe40f
|
The use-indexes rule now replaces EnumerateCollectionNodes with IndexNodes. Seems to work on visual test, needs automated test
|
2015-09-25 17:23:47 +02:00 |
Jan Steemann
|
9472eb7b45
|
make it link again
|
2015-09-25 16:30:29 +02:00 |
Jan Steemann
|
abc87b2d5f
|
added IndexNode stub
|
2015-09-25 13:40:51 +02:00 |
Michael Hackstein
|
6a11ad28ee
|
Adapted all indices to the new planned interface so they tell us if they can serve for a condition and present their costs
|
2015-09-25 10:40:04 +02:00 |
Michael Hackstein
|
180ffa74a3
|
Moved the conditionFinder to a seperate file
|
2015-09-24 14:16:25 +02:00 |
Michael Hackstein
|
8c3283f8a0
|
Fixed memleak
|
2015-09-23 16:29:28 +02:00 |
Michael Hackstein
|
f1b0afd9a6
|
Started to implement functions to find indexes for each Condition sub part
|
2015-09-22 11:19:52 +02:00 |
Michael Hackstein
|
1e5b246b6b
|
Included the work of @dothebart that was created on optimizing the condition tree.
|
2015-09-17 18:27:47 +02:00 |
Jan Steemann
|
b0798bbb19
|
first commit, broken
|
2015-09-16 17:22:09 +02:00 |
Jan Steemann
|
d9169f964e
|
potential fix for 32 bit version
|
2015-09-12 21:26:59 +02:00 |
CoDEmanX
|
3a9648d78a
|
More Americanization
|
2015-09-03 22:25:43 +02:00 |
Michael Hackstein
|
b708a7ae68
|
Merge remote-tracking branch 'origin/devel' into array_indexing
|
2015-08-21 15:34:49 +02:00 |
Jan Steemann
|
97d67e4399
|
use binary-safe string representations
|
2015-08-20 01:46:20 +02:00 |
Michael Hackstein
|
e867181a72
|
Merge remote-tracking branch 'origin/eimerung_hashindex' into array_indexing
|
2015-08-17 15:58:53 +02:00 |
Michael Hackstein
|
c2338d80d0
|
A user can now create an indux on attribute[*] which will put an index on attribute and ignores the expand flag. Does not harm any feature in AQL now.
|
2015-08-17 12:43:08 +02:00 |
Michael Hackstein
|
17a8f73a06
|
Now the input for indexes is parsed using the new attribute parser. This means the flags for expanded Attributes are set. Also introduced a transformation function to transform an attributeName list back into a string.
|
2015-08-17 12:43:07 +02:00 |
Michael Hackstein
|
8fbb2739b0
|
The indexes can now use the new AttributeName struct which contains a flag if the attribute should be Array-Indexed. Right now this flag is hard-coded to false in all cases and not persisted.
|
2015-08-17 12:43:05 +02:00 |
Jan Steemann
|
dc1910e331
|
added AQL optimizer rule `patch-update-statements`
|
2015-08-13 13:02:47 +02:00 |
Jan Steemann
|
7b5ac63591
|
cppcheck
|
2015-08-12 21:37:28 +02:00 |
Jan Steemann
|
2d8777bc6c
|
make the optimizer create less plans
|
2015-07-30 00:07:32 +02:00 |
Jan Steemann
|
4912ce3200
|
fix cluster startup
|
2015-07-29 12:55:06 +02:00 |
Jan Steemann
|
cdfdec9244
|
save some overhead when walking plans
|
2015-07-28 11:44:34 +02:00 |
Jan Steemann
|
8685a6a250
|
documentation for `RETURN DISTINCT`
|
2015-07-27 11:27:59 +02:00 |
Jan Steemann
|
ead280afe5
|
added DISTINCT
|
2015-07-24 13:19:55 +02:00 |
Jan Steemann
|
d6f3436cc9
|
added tests
|
2015-06-16 15:13:53 +02:00 |
Jan Steemann
|
d99d164c0a
|
simplified parser
|
2015-06-10 20:25:25 +02:00 |
Jan Steemann
|
6f56e9ef43
|
indentation
|
2015-06-08 16:23:49 +02:00 |
Jan Steemann
|
3bb5eb1a9d
|
small optimizations
|
2015-06-02 23:20:00 +02:00 |
Jan Steemann
|
fda6aec8d5
|
push_back => emplace_back
|
2015-06-02 22:48:55 +02:00 |
Jan Steemann
|
8b8918f72c
|
added (still disabled) rule fuse-calculations
|
2015-06-02 21:32:38 +02:00 |
Jan Steemann
|
a9f2769ffa
|
now compiles and links
|
2015-05-23 04:31:13 +02:00 |
Jan Steemann
|
4522d8ab33
|
fixed wrong index usage, added tests
|
2015-05-21 18:29:43 +02:00 |
Jan Steemann
|
9c73028541
|
less copying
|
2015-05-12 13:36:08 +02:00 |
Jan Steemann
|
06cf34700f
|
simplify attribute accesses
|
2015-05-08 15:14:17 +02:00 |
Jan Steemann
|
7e47d75042
|
fixed wrong condition
|
2015-05-08 12:44:53 +02:00 |
Jan Steemann
|
beb45ad8f8
|
use indexes when referring to an attribute name via bind parameter
|
2015-05-08 12:39:55 +02:00 |
Jan Steemann
|
7783ed1b33
|
speedups
|
2015-04-29 17:42:33 +02:00 |
Jan Steemann
|
6fe78cddb1
|
speed up big IN-lists in AQL
|
2015-04-29 16:22:45 +02:00 |
Jan Steemann
|
974b656c1b
|
allow overriding COLLECT method
|
2015-04-21 14:45:22 +02:00 |
Jan Steemann
|
3bb3e15d8e
|
fixed getAttributeAccess()
|
2015-04-20 14:30:06 +02:00 |
Jan Steemann
|
61499432b7
|
do not remove constant sorts when creating plans, but during optimization phase
less utf8 comparisons
|
2015-04-20 11:32:29 +02:00 |
Jan Steemann
|
d9add3a493
|
fixed collect in cluster
|
2015-04-16 21:10:48 +02:00 |
Jan Steemann
|
528ec17bcd
|
Merge branch 'devel' of https://github.com/arangodb/arangodb into hash-collect
Conflicts:
arangod/FulltextIndex/fulltext-handles.cpp
|
2015-04-16 19:06:21 +02:00 |
Jan Steemann
|
e2000f571f
|
try to satisfy scan-build
|
2015-04-16 15:04:11 +02:00 |
Jan Steemann
|
e1312f2088
|
attempt to satisfy scan-build a bit
|
2015-04-16 11:47:18 +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
|
01745402f3
|
Merge branch 'devel' of https://github.com/arangodb/arangodb into data-modification
|
2015-03-24 14:34:20 +01:00 |
Jan Steemann
|
a3c0612798
|
added cluster tests
|
2015-03-24 14:34:09 +01:00 |
Willi Goesgens
|
44101c621d
|
Fix macos warning: declaring & calling in one line seems to be undeclared.
|
2015-03-24 11:33:19 +01:00 |
Jan Steemann
|
e3bf1c709c
|
upsert blocks
|
2015-03-23 15:31:07 +01:00 |
Jan Steemann
|
8e48f98045
|
Merge branch 'devel' of https://github.com/arangodb/arangodb into data-modification
Conflicts:
arangod/Aql/Collection.cpp
arangod/Aql/ExecutionBlock.cpp
|
2015-03-20 21:54:39 +01:00 |
Jan Steemann
|
1298bd40a8
|
added tests for out-of-memory situations
|
2015-03-20 08:54:15 +01:00 |
Jan Steemann
|
a9cddb824f
|
more usage of unique_ptrs
|
2015-03-20 00:05:32 +01:00 |
Jan Steemann
|
13ddb8b34b
|
fixed some cluster plans
|
2015-03-17 13:52:09 +01:00 |
Jan Steemann
|
6b24da1036
|
in the middle of refactoring
|
2015-03-17 09:08:25 +01:00 |
Jan Steemann
|
34e101725f
|
fixed assertion
|
2015-03-16 17:28:54 +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
|
1701be206f
|
more sparse tests
|
2015-02-11 21:21:14 +01:00 |
Jan Steemann
|
33a4d2c4dc
|
added tests
|
2015-02-11 19:34:00 +01:00 |
Jan Steemann
|
003d7e9112
|
sparse indexes, initial commit, untested
|
2015-02-07 03:07:41 +01:00 |
Jan Steemann
|
cdd31f2b92
|
constification
|
2015-02-05 00:10:30 +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
|
e30ddf0df3
|
fixed indexing test
|
2015-02-02 20:33:45 +01:00 |
Jan Steemann
|
7af624e2f0
|
selectivty, try 0
|
2015-01-27 09:34:04 +01:00 |
Jan Steemann
|
d348f60e59
|
added AQL optimizer rule "move-calculations-down"
|
2015-01-22 20:36:38 +01:00 |
Jan Steemann
|
87b1f7fde3
|
enable indexes in even more cases
|
2015-01-22 17:24:47 +01:00 |
Jan Steemann
|
1c935b6ab2
|
added tests for filter order, not optimization etc.
|
2015-01-22 14:16:58 +01:00 |
Jan Steemann
|
14e82da2b0
|
fixed leak
|
2015-01-19 22:25:16 +01:00 |
Jan Steemann
|
ee51a8ebfd
|
added more tests for indexes
|
2015-01-19 11:10:57 +01:00 |
Jan Steemann
|
1003e52cf7
|
some cleanup
|
2015-01-18 16:41:48 +01:00 |
Jan Steemann
|
823369c815
|
disable the use of indexes in certain unsafe situations
|
2015-01-17 17:45:36 +01:00 |
Max Neunhoeffer
|
892f11d2e8
|
Clarify code for cluster modififying AQL.
|
2015-01-12 10:37:06 +01:00 |
Jan Steemann
|
2d0a37d826
|
automatically create _keys in DistributeNode on insert
|
2015-01-12 10:33:05 +01:00 |
Jan Steemann
|
2de9760820
|
fixed empty error message
|
2015-01-09 23:29:36 +01:00 |
Jan Steemann
|
c591357dd3
|
slightly changed cost estimation for IndexRangeNode
|
2015-01-07 15:11:42 +01:00 |
Jan Steemann
|
62696b6984
|
prerequisites for further COLLECT optimizations
|
2015-01-07 09:42:46 +01:00 |
Jan Steemann
|
8333591e3f
|
issue #1199: Cannot unlink root node of plan
|
2015-01-02 17:38:33 +01:00 |
Max Neunhoeffer
|
cf94935ebc
|
Fix a bug in optimizer rule for DistributeNode.
|
2014-12-24 00:43:38 +01:00 |
Max Neunhoeffer
|
20424bd642
|
Fix a bug in modifying AQL when REPLACE/UPDATE uses DistributeNode.
|
2014-12-24 00:18:39 +01:00 |
Max Neunhoeffer
|
6fe1fb8568
|
Fix modifying AQL in cluster.
|
2014-12-23 22:44:01 +01:00 |
Max Neunhoeffer
|
1cdf439845
|
Broken version, errors not yet fixed.
|
2014-12-23 16:51:48 +01:00 |
Max Neunhoeffer
|
05c069f361
|
Another fix for the distributed locking problem in cluster AQL.
|
2014-12-23 14:35:19 +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 |
Jan Steemann
|
f35f8d1643
|
fixed ranges, added tests
|
2014-12-16 13:54:46 +01:00 |
Jan Steemann
|
4a60a62028
|
indentation
|
2014-12-16 00:30:55 +01:00 |
Jan Steemann
|
1c65c042a4
|
added tests, fixed exception
|
2014-12-16 00:20:40 +01:00 |
Jan Steemann
|
bcdeabd3ab
|
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
arangod/Aql/ExecutionBlock.cpp
|
2014-12-15 21:53:51 +01:00 |
Jan Steemann
|
1e83716c1d
|
removed debug output
|
2014-12-13 12:48:09 +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 |
James
|
7ab57d64ec
|
Merge branch 'aql-feature-index-or' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or
|
2014-12-09 22:05:57 +00:00 |
Jan Steemann
|
22928c1bb5
|
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
arangod/Aql/ExecutionBlock.cpp
arangod/Aql/OptimizerRules.cpp
|
2014-12-09 22:45:55 +01:00 |
Jan Steemann
|
2fbc53f711
|
fixed potential leaks
|
2014-12-09 16:27:05 +01:00 |
James
|
4fdd97c9a7
|
fixed another bug
|
2014-12-09 14:19:52 +00:00 |
Jan Steemann
|
d638c1c0c9
|
fixed choicung
|
2014-12-09 15:18:53 +01:00 |
James
|
a4dcf1b9d3
|
Merge branch 'aql-feature-index-or' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or
|
2014-12-09 10:23:07 +00:00 |
James
|
46fe461ca1
|
fixed bug and added test for it.
|
2014-12-09 09:40:40 +00:00 |
Max Neunhoeffer
|
368530dd5a
|
Fix number of plan cap.
|
2014-12-09 09:59:07 +01:00 |
Max Neunhoeffer
|
62f03aa013
|
Choose skiplistIndex if in doubt.
|
2014-12-08 16:53:05 +01:00 |
Max Neunhoeffer
|
fc79c31661
|
More sensible plan management in useIndexRangeNode optimizer rule.
|
2014-12-08 15:37:01 +01:00 |
Jan Steemann
|
5d9c8ef49a
|
removed compile warnings
|
2014-12-08 12:54:44 +01:00 |
Jan Steemann
|
cd17c393ab
|
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
arangod/Aql/ExecutionBlock.cpp
arangod/Aql/OptimizerRules.cpp
arangod/Aql/grammar.cpp
|
2014-12-08 12:37:13 +01:00 |
James
|
ad211c83a5
|
memleaks
|
2014-12-06 19:01:16 +00:00 |
James
|
454ef10898
|
fixing last
|
2014-12-06 16:21:59 +00:00 |
James
|
bf4b718019
|
memleaks
|
2014-12-06 16:18:39 +00:00 |
James
|
f0bb73982c
|
whitespace
|
2014-12-06 14:22:52 +00: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 |
James
|
8c28127be1
|
fixing dynamic bounds which are lists.
|
2014-12-03 11:44:38 +00:00 |
James
|
52b174bb3d
|
updating
|
2014-12-02 11:22:01 +00:00 |
James
|
b1300fb927
|
same as last
|
2014-12-02 10:24:01 +00:00 |
James
|
8f735ca9c7
|
more attempts at fixing memleaks
|
2014-12-02 10:14:16 +00:00 |
James
|
3bab43be0a
|
memleaks
|
2014-12-02 09:36:11 +00:00 |
James
|
2d9c4196ac
|
updating comment
|
2014-12-02 08:05:33 +00:00 |
Max Neunhoeffer
|
cfb0b21f2d
|
Add Jan's patch for the indexRangeNode recognition.
We change all EnumerateCollectionNodes to IndexRangeNodes if possible
and do not keep the old plans.
|
2014-12-01 18:38:30 +01:00 |
James
|
be95719179
|
fixed bug in logic of hash index use.
|
2014-11-28 08:24:56 +00:00 |
James
|
fe356e2187
|
some partial fixes
|
2014-11-27 13:24:16 +00:00 |
James
|
40a67f47c7
|
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
arangod/Aql/ExecutionBlock.cpp
arangod/Aql/OptimizerRules.cpp
|
2014-11-27 09:25:43 +00:00 |
Jan Steemann
|
8a715d7791
|
fixed `remove-redundant-or` rule
the rule was not producing correct conditions for queries such as
FOR i IN collection FILTER i._key > 'a' && i._key > null RETURN i
|
2014-11-26 21:42:22 +01:00 |
Jan Steemann
|
292eaad273
|
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
|
2014-11-26 19:49:38 +01:00 |
Jan Steemann
|
45ebdf7581
|
enable more indexes
|
2014-11-26 19:49:28 +01:00 |
Jan Steemann
|
57aefb988d
|
fix optimization of subqueries
|
2014-11-26 15:01:55 +01:00 |
Jan Steemann
|
c69fa0b0dc
|
fixed invalid optimization, added test cases
|
2014-11-25 23:18:24 +01:00 |
James
|
ec21728ad2
|
fixed logic of optimizer rule use-index-range, if one of the OR conditions is not useable, then throw away plan.
|
2014-11-25 10:08:50 +00:00 |
James
|
02538a1063
|
avoid inserting duplicate values in buildRangeInfo when they come from an IN.
|
2014-11-25 09:05:06 +00:00 |
James
|
908c14fc6a
|
most tests green
|
2014-11-22 15:20:26 +00:00 |
James
|
cc94e2413d
|
same as last
|
2014-11-22 15:08:04 +00:00 |
James
|
2704921daf
|
properly handle empty conditions
|
2014-11-22 14:58:34 +00:00 |
James
|
16540bbae4
|
cleaning up and avoid inserting duplicate conditions.
|
2014-11-22 14:26:48 +00:00 |
James
|
c1c44ad64f
|
bug fixes
|
2014-11-22 13:41:05 +00:00 |
James
|
b9dc309bc2
|
more robust logic
|
2014-11-22 12:39:04 +00:00 |
James
|
2f80c76f69
|
fixed cloning of RangeInfos
|
2014-11-20 13:24:52 +00:00 |
James
|
1f69d82a8a
|
working out bugs
|
2014-11-20 11:51:22 +00:00 |
James
|
202358b2af
|
cleaning up
|
2014-11-18 13:26:57 +00:00 |
James
|
d546aa99a8
|
adding support for OR
|
2014-11-18 12:30:27 +00:00 |
James
|
b4d00ebbbf
|
adding distribution of "and" into "or"
|
2014-11-18 12:25:08 +00:00 |
James
|
0613014826
|
extremely simple IN conditions working.
|
2014-11-18 10:46:44 +00:00 |
James
|
2ee1198ba4
|
all the tests are green
|
2014-11-18 09:54:10 +00:00 |
James
|
35380b03d1
|
compilation errors, still doesn't compile.
|
2014-11-17 13:09:57 +00:00 |