1
0
Fork 0
Commit Graph

512 Commits

Author SHA1 Message Date
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