1
0
Fork 0
Commit Graph

101 Commits

Author SHA1 Message Date
Jan Steemann cb4c60a36f explain tests 2014-09-11 09:54:59 +02:00
Jan Steemann 1d2c21aec5 create verbose plans 2014-09-10 14:15:37 +02:00
Willi Goesgens de32cddc1e Fix memory leak in case of exceptions thrown when parsing the variable from json 2014-09-09 13:22:49 +02:00
Jan Steemann 639a026c66 fixed tests 2014-09-09 09:57:52 +02:00
Jan Steemann 4bda3e3979 finished test for remove-redundant-sorts 2014-09-08 17:33:11 +02:00
Willi Goesgens 02207d5f70 Cost estimates: IndexRangeNodes without range have to be more expensive than ones with. 2014-09-05 14:23:25 +02:00
Max Neunhoeffer fb9481c208 Fix another memory leak. 2014-09-02 14:33:08 +02:00
Willi Goesgens c1d0f8bccc SortIndex: as long as the Index superseeds the sort critereon its still a full match. 2014-09-01 18:29:09 +02:00
Willi Goesgens cd29afd88f Fix pattern to index matcher
- if the number of match patterns is zero, this is not a match at all.
  - if the number of condition is unequal match pattern to a match pattern this isn't a full match.
2014-09-01 13:31:39 +02:00
James fd4b4e5df4 "proper" estimateCost method for IndexRangeNode. 2014-08-29 14:22:46 +02:00
Jan Steemann e47c2b99d3 use stable sort 2014-08-29 12:22:27 +02:00
James 46b40015ee renovating RangeInfo stuff to avoid mem leaks. 2014-08-29 11:52:19 +02:00
James 05dac4f52d Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Optimizer.cpp
2014-08-28 14:41:51 +02:00
James 1deed3ebce fixed bugs useIndexRange. 2014-08-28 14:39:26 +02:00
Jan Steemann 04b322d9e0 sorting 2014-08-28 14:04:24 +02:00
Willi Goesgens 75d9d4ee60 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-28 13:48:44 +02:00
Willi Goesgens 0a1d5edb29 SortToRange: fix abort critereon for non-skiplist indexes 2014-08-28 13:48:03 +02:00
Jan Steemann 2eb38c9657 remove-redundant-sorts, initial 2014-08-28 12:39:28 +02:00
Willi Goesgens 9d4b1b1c88 SortNode: our variables can also be in other ExecutionNodes then the Calculation node. Take this into account.
SortIndex optimizer: when looking at our properties only check Calculation nodes, ignore other types of ExecutionNodes
2014-08-28 11:48:23 +02:00
Max Neunhoeffer b9cfff7c89 Fix infinite recursion bug in canThrow for subqueries. 2014-08-28 09:36:15 +02:00
Jan Steemann 6d0dfcdeba changed ctor 2014-08-28 00:27:24 +02:00
Willi Goesgens e67a2ed36a SortIndex optimizer:
- remove SortNodes which are superseeded by an IndexRangeNode
  - calculate the properties of an SortNode before entering the walker
  - add abstraction class
2014-08-27 15:39:37 +02:00
Max Neunhoeffer 27d8409425 Implement canThrow method for SubqueryNode. 2014-08-27 13:07:05 +02:00
Willi Goesgens 5e75ec8bb5 Expression:
- add function isSimpleAccessReference() to check whether it is a coll.attr.attr
 - add function getAccessNRef() to retrieve pair("attr.attr", "coll"),
SortIndex optimizer:
 - use the new functionality to get better readable code.
rename indexes -> indices
2014-08-26 17:26:46 +02:00
Willi Goesgens 18d308af0f SortNode: add method that looks up the expressions referenced by the Sortnode, and returns them paired with ASC/DESC. 2014-08-26 15:38:55 +02:00
Willi Goesgens ff4e00eb86 SortIndex optimizer:
- rename getIndexes to getIndexesUnordered
  - add CompareIndex & getIndexesOrdered to retrieve a list which does an ordered match on the available skiplist indices
  - fetch the ordered matching indices
  - only remove the sortnode if its a full qualified match.
2014-08-26 13:53:19 +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 8896a01753 making the arguments of IndexRangeNode more general. 2014-08-25 15:11:54 +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 7330597f15 fixed ambigious method JsonHelper::getStringValue 2014-08-22 21:53:29 +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
James 99623c8e2a finished deserialising of IndexRangeNode. 2014-08-22 16:57:34 +02:00
James 8559f60766 fixed bugs in last. 2014-08-22 16:25:23 +02:00
James 931aaee618 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-22 16:19:01 +02:00
James 4c49a3be5e deserialising of IndexRangeNode almost completed. 2014-08-22 16:17:10 +02:00
Jan Steemann 55608ceae2 use index nodes 2014-08-22 13:53:01 +02:00
Jan Steemann 3a60913afe fix JSON serialization of indexes 2014-08-22 13:13:07 +02:00
Jan Steemann 5d5aaaa949 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-22 12:00:55 +02:00
James 3987067339 cleaning up and readded toJsonHelper method for IndexRangeNode. 2014-08-22 10:55:51 +02:00
Jan Steemann 0793804206 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-22 10:44:27 +02:00
Jan Steemann 30c6b26b6d add plans! 2014-08-22 10:44:19 +02:00
James 4ba4ec4523 moving function getIndexes for EnumerateCollectionNode from h to cpp file. 2014-08-22 10:39:41 +02:00
Jan Steemann 2b27957546 added AQL_EXPLAIN() 2014-08-22 09:51:48 +02:00
Max Neunhoeffer 9a7dd748f4 Fix linkage bug. 2014-08-21 16:54:52 +02:00
Jan Steemann 81f08b7032 added insertDependency 2014-08-21 15:17:55 +02:00
James 7b5f52069a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-21 13:16:24 +02:00
Jan Steemann 0e8b61124e less verbose AST dumps in AQL_PARSE 2014-08-21 13:08:21 +02:00
James aa03c16be0 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-21 12:53:05 +02:00