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