jsteemann
ecd7de16cb
added optimizer rule "inline-subqueries"
2016-04-15 17:21:22 +02:00
Jan Steemann
9163236f2b
renamed optimizer rule "merge-traversal-filter" into "optimize-traversals"
2016-04-12 14:51:15 +02:00
jsteemann
4a7c9f0f68
simplified bloated comments
2016-04-09 11:27:30 +02:00
Jan Steemann
dce7c427d9
test fixes
2016-03-24 14:55:31 +01:00
Max Neunhoeffer
c2049b8ee1
Switch to IndexHandles.
2016-03-23 08:57:00 +01:00
jsteemann
dc3581563c
bugfixes
2016-03-17 14:46:49 +01:00
Michael Hackstein
c9b42aac95
Fixed a stupid double assign.
2016-03-15 18:32:26 +01:00
Michael Hackstein
7e0c8c935d
Reimplemented optimizer rule to remove unnecessary SORT if covered by index
2016-03-15 11:12:10 +01:00
Michael Hackstein
78f0b95289
AQL indexNode now uses the new transaction API. It does not know any index internals itself any more. Optimizer Rule to remove SORT node needs to be reimplemented yet
2016-03-14 21:28:58 +01:00
Jan Steemann
c21d7fc2f4
less json
2016-03-09 10:32:08 +01:00
jsteemann
bee34da616
make replace-or-with-in rule fire in more cases
2016-02-10 23:07:24 +01:00
Jan Steemann
5ba2432d78
remove sort in more cases
2016-02-10 11:23:11 +01:00
jsteemann
a02e2b563f
fixed issue #1707 : 2.8.1 crashes
...
the crash was due to a required variable being removed from the execution plan.
this happened when there were multiple execution plans, and a certain transformation
was made in one of them. the transformation modified an element that was shared by
all plans, but it should have made a copy so only the current plan is affected
2016-02-07 00:23:34 +01:00
jsteemann
2d7323a560
fixed warnings shown by clang-3.7
2016-01-31 02:17:36 +01:00
jsteemann
1ca11411fd
added (still disabled) optimizer rule `inline-subqueries`
2016-01-29 00:50:37 +01:00
Jan Steemann
9046e1831b
clang-format
2016-01-27 13:43:46 +01:00
jsteemann
842384016d
namespace cleanup
2016-01-21 00:20:22 +01:00
jsteemann
431900f17a
changed namespace from triagens to arangodb
2016-01-17 00:44:53 +01:00
jsteemann
03c4a4fb23
renamed optimizer rule for collect optimization
2016-01-17 00:07:13 +01:00
jsteemann
4abf96e1db
removed special case for COLLECT INTO var = expr
2016-01-16 20:20:44 +01:00
Jan Steemann
fd7a03980e
renamed
2016-01-12 19:25:05 +01:00
Jan Steemann
687d6133f0
comments reformatting
2016-01-11 09:52:39 +01:00
Jan Steemann
1e6a07426c
collect refactoring
2016-01-07 14:10:32 +01:00
Jan Steemann
ad1163e3bb
refactoring for Aql COLLECT
2016-01-07 13:35:12 +01:00
Jan Steemann
3ad20c0cae
auto-generated headers
2016-01-06 18:41:51 +01:00
Jan Steemann
a3b026d9d1
removed useless sections from code, unified include guards
2016-01-06 14:15:22 +01:00
Jan Steemann
f422576ee0
clang-format
2016-01-05 17:43:24 +01:00
Max Neunhoeffer
b10fafa501
Remove unused code.
2015-12-23 15:06:41 +01:00
Max Neunhoeffer
c7f00bfeda
Continue work on TODOs.
2015-12-23 14:40:04 +01:00
Max Neunhoeffer
3996d2e6a2
Merge branch 'devel' into vpack
2015-12-23 08:35:59 +01:00
jsteemann
50947dfae3
apply "sort-in-values" optimization for certain subqueries too
2015-12-23 00:44:47 +01:00
Max Neunhoeffer
225c8cd843
Work on TODOs.
2015-12-22 16:50:09 +01:00
jsteemann
a41f65b0ca
optimizer simplifications
2015-12-21 01:43:16 +01:00
jsteemann
50818d9c80
simplifications
2015-12-18 23:54:14 +01:00
Jan Steemann
36eac6ffd0
fixed index selection in some queries
2015-12-18 20:16:09 +01:00
Jan Steemann
8053911c39
tests for issue #1583
2015-12-18 12:15:52 +01:00
Jan Steemann
a694b7ef48
make_unique
2015-12-16 11:36:35 +01:00
jsteemann
51c267cd2a
dont optimize in certain cases when its useless
2015-12-14 00:12:14 +01:00
jsteemann
600c48375d
added optimizer rule `sort-in-values`
2015-12-13 23:33:44 +01:00
jsteemann
18e47457a6
fixes
2015-12-11 13:29:18 +01:00
Jan Steemann
ee6792dd6b
fixes for traversal and multi-modify
2015-12-08 14:50:05 +01:00
Jan Steemann
a53da38fcd
fixed some cluster queries
2015-12-04 17:07:36 +01:00
Michael Hackstein
11640a15ad
Fixed a comment
2015-12-03 16:05:06 +01:00
Jan Steemann
d8bf728fd3
added TRAVERSAL nodes for optimization checks
2015-12-03 15:25:16 +01:00
Jan Steemann
d572f3ed03
Merge branch 'aql-multi-modify' of https://github.com/arangodb/arangodb into devel
2015-12-03 11:38:30 +01:00
Michael Hackstein
3ea14e66a3
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-12-03 10:19:17 +01:00
jsteemann
9fa0f6d3a7
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-multi-modify
2015-12-02 16:38:50 +01:00
Jan Steemann
eb8899d9ae
applied changes suggested by cppcheck
2015-12-02 10:17:14 +01:00
hkernbach
6d25ac57e9
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-12-01 11:25:58 +01:00
jsteemann
49af794f5d
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-multi-modify
2015-12-01 01:56:46 +01:00
jsteemann
e7e00e95c1
some cleanup
2015-12-01 01:26:27 +01:00
jsteemann
37f72fa721
micro optimizations
2015-11-30 19:37:58 +01:00
Michael Hackstein
e9a36a3fbf
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-11-30 14:17:44 +01:00
Jan Steemann
5acd13e8e9
fixed assertion failure in some cluster queries
2015-11-30 12:48:26 +01:00
jsteemann
cb62c657e0
initial commit
2015-11-18 17:46:19 +01:00
Michael Hackstein
7a36bbb43f
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-11-18 13:58:47 +01:00
Jan Steemann
82eddeb120
allow using array indexes without specifying the `[*]` extension
2015-11-17 14:03:58 +01:00
Wilfried Goesgens
c27ee437dd
Properly communicate whether we altered the plan or not.
2015-11-09 10:59:40 +01:00
Wilfried Goesgens
327b408a22
Start implementing early filtering of paths to exclude from the result
2015-10-28 12:37:13 +01:00
Wilfried Goesgens
951165ab1e
Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH
...
Conflicts:
arangod/Aql/grammar.cpp
arangod/Aql/grammar.h
js/common/modules/org/arangodb/graph-examples/example-graph.js
2015-10-28 11:08:18 +01:00
Wilfried Goesgens
cd6cc35def
Adjust the stage to the now non-void pointered index implementation.
2015-10-22 11:12:21 +02:00
Jan Steemann
35f01d1959
fixed assertion failure when trying to optimize multiple INs with OR
2015-10-21 17:41:57 +02:00
Jan Steemann
b28393e458
cleanup
2015-10-20 11:44:01 +02:00
Jan Steemann
164f9c9a1c
fixed some tests
2015-10-19 17:48:10 +02:00
Jan Steemann
663a92567b
updated replace-or-with-in optimizer rule
2015-10-19 15:36:04 +02:00
Michael Hackstein
988cfad3d6
The use-indexes rule will nw be used and explained if it created NoResult Nodes
2015-10-15 17:01:41 +02:00
Jan Steemann
7f778b148a
blind commit
2015-10-15 16:19:33 +02:00
Jan Steemann
98882efa61
optimizer fixes
2015-10-14 16:56:03 +02:00
Jan Steemann
1ebcea2352
remove-filter-covered-by-indexes rewrite
2015-10-13 17:59:40 +02:00
Jan Steemann
068d85b562
less header dependencies
2015-10-13 17:00:59 +02:00
Jan Steemann
fcdd95d7cd
fixes
2015-10-13 16:26:43 +02:00
Jan Steemann
7d11a07a5a
removed RangeInfo.h
2015-10-13 15:15:48 +02:00
Jan Steemann
197be68f7d
removed IndexRange*
2015-10-13 15:12:32 +02:00
Jan Steemann
deb0a132ae
rewrite of optimizer rule `use-index-for-sort`
2015-10-13 15:00:09 +02:00
Jan Steemann
f2efdc3dc3
fixed fix 2
2015-10-13 11:27:56 +02:00
Jan Steemann
cd7c1bc453
preparations for sort optimizer rule
2015-10-13 10:37:07 +02:00
jsteemann
4191056151
removed remainders of "use-index-range" optimizer rule
2015-10-12 22:49:30 +02: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
d479fa11cc
IndexBlock cleanup
2015-10-07 18:15:50 +02:00
Jan Steemann
85eacaa458
fixed memleaks
2015-10-07 16:12:20 +02:00
Jan Steemann
37bc5b64ff
fixed segfault
2015-10-05 13:49:23 +02:00
Jan Steemann
7d4c379598
small modifications, temporarily disabled interchange-adjacent-enumerations
2015-10-02 19:53:35 +02:00
Jan Steemann
574f88a1f9
fixed invalid cast
2015-10-02 18:04:52 +02:00
Michael Hackstein
d77dfc55c3
Started implementing runtime evaluation of IndexNode expressions
2015-10-02 17:03:53 +02:00
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
James
553c638cfe
further snapshot
2014-11-17 12:58:33 +00:00
James
0dcffe898c
snapshot
2014-11-17 11:11:38 +00:00
James
9f99908315
snapshot
2014-11-17 09:53:44 +00:00
Jan Steemann
896e8daec5
removed unused variable
2014-11-13 14:24:59 +01:00
James
23ea59d405
cleaning up, using ReverseOperator.
2014-11-11 08:43:30 +00: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
97b5e906da
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-lazy-index
2014-11-08 23:26:38 +01:00
Jan Steemann
567860cf65
more aggresively optimizer filters
2014-11-08 23:26:04 +01:00
Jan Steemann
9c5d150866
use Ast::ReverseOperator
2014-11-08 22:31:31 +01:00
James
14e6370c22
cleaning up.
2014-11-08 17:35:27 +00:00
James
e2b8456395
tests and bugfixes.
2014-11-08 17:31:30 +00:00
James
103db8c8b5
more flexible remove-redundant-OR rule
2014-11-08 16:42:39 +00:00
James
bc80940018
correct logic.
2014-11-08 13:52:24 +00:00
James
586cacc2ee
replace-redundant-OR optimizer rule first version.
2014-11-08 13:45:14 +00:00
James
53782f5364
bug fix
2014-11-08 11:39:09 +00:00
James
b849a6da72
some more cleaning up of replace-OR-with-IN
2014-11-08 11:36:56 +00:00
Jan Steemann
b0de1bb226
leaner and meaner error messages
2014-11-07 10:53:00 +01: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
Jan Steemann
bf30927913
removed canThrow tag for various built-in functions
2014-11-05 14:40:00 +01:00
Jan Steemann
987bfa1285
extended optimizer rule to detect more OR to IN transformation opportunities
2014-11-05 12:10:10 +01:00
James
10220c3207
adding functions.
2014-11-04 22:01:36 +00:00
James
095cc8a9e3
removed incorrect assertion
2014-11-04 21:49:37 +00:00
James
37ab716edc
cleaning up
2014-11-04 21:42:34 +00:00
James
3b49921a15
more cleaning up
2014-11-04 21:09:21 +00:00
James
61afce9d10
cleaning up
2014-11-04 21:04:56 +00:00
James
2e48bbb82b
tests are green again
2014-11-04 13:16:39 +00:00
James
04770d3563
nearly working better version of previous
2014-11-04 13:01:51 +00:00
James
f6e8dcd6ca
more general case working. Code needs cleaning up
2014-11-03 22:23:41 +00:00
James
62cb8d3a93
bugfix
2014-11-03 11:10:18 +00:00
James
1ff7e8d252
cleaning up
2014-11-03 10:42:16 +00:00
James
fa7668e1ce
snapshot
2014-11-03 10:38:05 +00:00
James
b301102655
Jan's patch
2014-11-03 09:32:12 +00:00
James
5f6964796e
still not working
2014-11-01 19:06:59 +00:00
James
2c10e943b8
still doesn't work
2014-11-01 17:12:44 +00:00
James
cd710ed55d
snapshot
2014-11-01 16:06:53 +00:00
James
d12b5baf12
first try at replace-OR-with-IN optimizer rule.
2014-11-01 14:30:18 +00:00
Jan Steemann
4f68960ed7
removed Ahuacatl [skip ci]
2014-10-31 17:31:00 +01:00
Jan Steemann
31d875921f
removed TODOs
2014-10-30 00:45:55 +01:00
Max Neunhoeffer
59c1935466
Get rid of some TODOs and FIXMEs.
2014-10-29 11:25:30 +01:00
Jan Steemann
529bf386d7
fixed some API errors
2014-10-28 11:30:49 +01:00
Max Neunhoeffer
5eed22ad5f
Repair distribute-sort-to-cluster rule and make it less aggressive.
2014-10-27 14:02:08 +01:00
Jan Steemann
b5c222b9b8
determine whether calculations may run on a DB server
2014-10-27 12:04:06 +01:00
James
c99cc155b6
fixing undistribute-remove-after-enum-coll optimizer rule.
2014-10-25 14:24:57 +01:00
Jan Steemann
d34c9ade30
re-enable optimizer rule
2014-10-23 16:56:48 +02:00
James
89d554c49b
remove some redundant comment
2014-10-21 17:27:39 +01:00
James
dc357b96bf
fixing distribute in cluster optimizer rule.
2014-10-21 11:04:38 +01:00
James
dcf427071c
shardIds -> shardKeys in distribute to cluster.
2014-10-17 11:07:33 +01:00
James
32f4216005
updating distribute-in-cluster opt rule
2014-10-17 10:22:26 +01:00
Jan Steemann
912a8162fb
some renaming
2014-10-16 17:23:50 +02:00
James
9f942d0ce3
finished first version of DistributeBlock/Node.
2014-10-15 10:53:09 +01:00
James
adca1117ff
removing debug output, up dating tests.
2014-10-14 11:29:14 +01:00
James
602f03e4e3
adding distribute-in-cluster optimizer rule.
2014-10-14 10:19:27 +01:00
Jan Steemann
7be268c07c
changed AQL optimizer to not throw
2014-10-14 10:14:40 +02: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
d2b86de370
fixed tyopo in comment
2014-10-08 10:55:58 +01:00
Jan Steemann
c2f0265d7d
fixed optimizer rule remove-unnecessary-remote-scatter
2014-10-07 13:21:05 +02:00
James
4a8ef130f5
DistributeBlock getOrSkipSome method minus the hard part.
2014-10-07 10:33:37 +01:00
James
95fd279a52
distribution node/block declarations etc.
2014-10-06 12:57:09 +01:00
Jan Steemann
bf31161ef5
activated if-statement
2014-10-06 10:40:04 +02:00
James
029e443b12
removing debug output
2014-10-04 12:21:34 +01:00
James
8bd3a9718c
undistributeRemoveAfterEnumColl now more or less works for REMOVE x._key in coll
2014-10-03 11:32:40 +01:00
James
c6c0387e50
undistributeRemoveAfterEnumColl optmizer rule now working
2014-10-03 10:13:11 +01:00
Jan Steemann
0e103d33dc
added assertion
2014-10-03 01:37:04 +02:00
James
16d54d6694
snapshot
2014-10-02 10:06:45 +01:00