1
0
Fork 0
Commit Graph

158 Commits

Author SHA1 Message Date
Jan Steemann 1769299e95 make optimizer not skip "use-indexes-rule", even if enough plans have been created already 2016-07-04 16:31:14 +02:00
jsteemann daf6d42683 optimize away some more filter parts of type `"const" IN collection.attribute 2016-06-24 14:03:58 +02:00
jsteemann 3b79b6eda4 micro optimizations 2016-06-09 10:13:01 +02:00
jsteemann accb2cb33e added operator LIKE 2016-04-20 23:05:38 +02:00
jsteemann 4a7c9f0f68 simplified bloated comments 2016-04-09 11:27:30 +02:00
Jan Steemann 4646f5d5f0 fix wrong path 2016-04-08 13:11:03 +02:00
Jan Steemann 3a582af765 fix Windows build 2016-04-08 13:09:32 +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
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
Frank Celler da7955e417 Merge branch 'devel' of github.com:arangodb/arangodb into solaris 2016-02-24 19:29:01 +01:00
Frank Celler 4b2b85f1b5 more cleanup 2016-02-24 19:19:04 +01:00
Jan Steemann af367a3e13 fixed range optimizations 2016-02-24 17:43:17 +01:00
Michael Hackstein f767636f14 Added a toVelocyPack serialisation to all Aql Nodes and their dependencies. Right now in parallel to toJson. 2016-02-16 00:04:32 +01:00
Jan Steemann f50ddf030b fix collapsing of conditions 2016-02-10 12:58:58 +01:00
Jan Steemann 5ba2432d78 remove sort in more cases 2016-02-10 11:23:11 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +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 225c8cd843 Work on TODOs. 2015-12-22 16:50:09 +01:00
Jan Steemann 36eac6ffd0 fixed index selection in some queries 2015-12-18 20:16:09 +01:00
Jan Steemann a694b7ef48 make_unique 2015-12-16 11:36:35 +01:00
jsteemann 600c48375d added optimizer rule `sort-in-values` 2015-12-13 23:33:44 +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
Jan Steemann 2bbcaa868f fixed invalid memory usages 2015-12-01 16:48:55 +01:00
jsteemann e7e00e95c1 some cleanup 2015-12-01 01:26:27 +01:00
Wilfried Goesgens a0f9524df8 Add routine to normalize conditions without re-running the optimizer. 2015-11-25 15:22:11 +01:00
jsteemann 8d2c3fd7ca remove even more FILTER conditions 2015-11-03 10:21:26 +01:00
Jan Steemann 63bebc4fe2 index printing 2015-10-27 16:16:46 +01:00
Jan Steemann 5a190d1110 fixed leaks, index speedup 2015-10-22 17:03:05 +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 e2d97e623f merge multiple ORs 2015-10-19 17:28:43 +02:00
Jan Steemann eecb6a9949 Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-19 15:36:17 +02:00
Jan Steemann 663a92567b updated replace-or-with-in optimizer rule 2015-10-19 15:36:04 +02:00
Michael Hackstein 3a3ab872f0 Fixed internal error for plan instantiation if the condition is empty 2015-10-19 15:09:59 +02:00
Jan Steemann a169d872b1 sort conditions with INs 2015-10-19 13:27:20 +02:00
Jan Steemann 5babaefadc disable MSVC warning about long names 2015-10-19 12:56:14 +02:00
Jan Steemann 8aabe4d59c fixed sort bugs 2015-10-19 11:57:44 +02:00
Michael Hackstein 8fceb242fc Fixed a bug with Filter evaluation. All conditions have been thrown away instead of only invalids 2015-10-17 20:05:17 +02:00
jsteemann ef2c1bc3cc changed sortOrs execution position 2015-10-17 15:09:25 +02:00
jsteemann 08b1bcf69c fixed invalid usage of non-collection variables in Condition 2015-10-17 14:47:16 +02:00
jsteemann 04a9ee03c3 fixed an assertion failure 2015-10-15 23:27:14 +02:00
Jan Steemann 7f778b148a blind commit 2015-10-15 16:19:33 +02:00
Jan Steemann e49802bcc0 fixes for condition generation 2015-10-15 13:38:35 +02:00
Jan Steemann 56e2dfd078 re-introduced NoResultsNode 2015-10-15 11:04:25 +02:00
jsteemann c38445aa64 added comment 2015-10-15 00:57:10 +02:00
jsteemann 4a88b3e8c9 fixed some index conditions 2015-10-15 00:50:06 +02:00
Jan Steemann b792632726 preparations for condition validation 2015-10-14 18:29:00 +02:00
Jan Steemann 3744a56138 IN optimization 2015-10-14 17:25:20 +02:00
Jan Steemann 98882efa61 optimizer fixes 2015-10-14 16:56:03 +02:00
Jan Steemann 0ffb11c25e do not use sparse indexes for sorting 2015-10-14 12:03:52 +02:00
Jan Steemann d7154af03c do not use sparse indexes for sorting only 2015-10-14 11:07:19 +02:00
Jan Steemann 779c242846 modified usage of filters with potentially undefined variables 2015-10-14 11:02:42 +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 cd7c1bc453 preparations for sort optimizer rule 2015-10-13 10:37:07 +02:00
Michael Hackstein 0f14a243ff Removed debug output 2015-10-13 09:56:08 +02:00
jsteemann 61d2d760fb new IndexNode cost calculation 2015-10-12 22:39:01 +02:00
jsteemann 29b3741156 reworked cost calculations 2015-10-12 22:23:03 +02:00
Jan Steemann 6b2837190e different cost calculation, done except for skiplists 2015-10-12 18:49:47 +02:00
Jan Steemann 2970f9d221 fixed primary and edge index 2015-10-12 15:53:43 +02:00
Michael Hackstein eca1cc7ac6 Fixed a bug where an index node was created for sorting, even if no index could sort. 2015-10-12 15:09:36 +02:00
Michael Hackstein a8ee15fca4 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into
aql-jmmh-conditions and fixed a compiler bug for mac outstream
2015-10-12 14:37:03 +02:00
Jan Steemann f0edd198bc added specializeOne() and specializeAll() 2015-10-12 13:02:52 +02:00
Michael Hackstein dcc34e5312 The condition finder now creates an IndexNode for SORT statement only, if any index would be suiteable for it. 2015-10-12 11:44:36 +02:00
Jan Steemann b5c9602407 specialization of conditions 2015-10-09 18:10:33 +02:00
Jan Steemann c689fc0756 preparation work for index condition specialization 2015-10-08 18:20:10 +02:00
Jan Steemann d572655d84 fixed compile warning 2015-10-08 16:28:04 +02:00
Jan Steemann 6a4e9658c5 fixes for explainer and condition 2015-10-08 16:22:52 +02:00
Jan Steemann 0d80a17002 generalize condition handling 2015-10-08 15:10:28 +02:00
Jan Steemann fbfc7773ef serialization and deserialization of IndexNodes 2015-10-08 12:02:27 +02:00
Jan Steemann 118f924598 support [*] operator 2015-10-05 19:15:22 +02:00
Jan Steemann e46ba60715 changed signatures of attribute-access-detecting functions 2015-10-05 16:01:19 +02:00
Jan Steemann 7d4c379598 small modifications, temporarily disabled interchange-adjacent-enumerations 2015-10-02 19:53:35 +02:00
Jan Steemann e0dcf4331d finish IN optimizations in Condition 2015-10-02 17:39:04 +02:00
Jan Steemann a2731a6121 blind commit 2015-10-02 17:02:02 +02:00
Jan Steemann 3a92fa8e16 merge IN with IN 2015-10-02 15:22:21 +02:00
Jan Steemann 7292384b37 deduplicate IN arrays 2015-10-02 14:05:27 +02:00
Jan Steemann 42b02427e6 fixed index usage 2015-10-01 17:27:57 +02:00
Jan Steemann fab5c5902d clarified instructions 2015-10-01 16:59:14 +02:00
Jan Steemann bc4e27bdc9 added getOne() 2015-10-01 13:25:03 +02:00
Jan Steemann 806272876c satisfy scan-build 2015-09-30 17:21:07 +02:00
Jan Steemann 40a1cf3ce3 fixed segfault 2015-09-30 16:03:46 +02:00
Michael Hackstein 468e632abb Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-30 08:38:26 +02:00
Jan Steemann 67de5480e8 check filter condition and sort condition support for all index types 2015-09-29 17:38:55 +02:00
Jan Steemann 7df6726c3f calculate costs for equality lookups 2015-09-29 13:08:51 +02:00
Michael Hackstein 8f0bd93120 Disabled the IndexBlock again, not yet working 2015-09-29 10:18:46 +02:00
Michael Hackstein c0a88a1371 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-29 10:04:15 +02:00
Michael Hackstein e35ea8995e Fixed used after free of condition node. Cloned the Condition AST whie handing it over. Still get a double free exception. IndexNodeis now handled. 2015-09-29 09:13:08 +02:00
Jan Steemann 84f59d112e unified index use checks 2015-09-28 18:13:04 +02:00
Jan Steemann 3495816fa1 changed index signatures 2015-09-28 14:11:23 +02:00
Jan Steemann 35f2bdb9fd fixed 2015-09-28 13:31:53 +02:00
Jan Steemann f2cbaa38e0 fixed condition printing 2015-09-25 16:35:18 +02:00
Jan Steemann abc87b2d5f added IndexNode stub 2015-09-25 13:40:51 +02:00
Michael Hackstein 2ab13b81a4 The Condition will now successfully produce a list of Indexes that can be combined for the current EnumerateCollectionBlock. If this list is empty we can do nothing but a Full Collection Scan 2015-09-25 13:00:37 +02:00
Michael Hackstein 6eb23f14f4 The Condition findIndexes now tries to find an index for each AND block and fills a list of indexes, iff there is any element in the list we are able to use a CombinedIndexRangeNode, if not we still have to use the EnumerateCollectionNode 2015-09-25 11:45:31 +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 6525755cc0 Fixed memleak 2015-09-23 17:04:37 +02:00