James
0638a5cbda
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 16:32:28 +02:00
Jan Steemann
679b6bd10f
alwaysProducesBoolValue()
2014-08-27 16:24:14 +02:00
James
c8667290b5
fixing bugs in last and removing debug prints.
2014-08-27 16:15:53 +02:00
Willi Goesgens
da6bac560d
SortIndex optimizer: clean up namingschemes, add documentation.
2014-08-27 16:09:25 +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
James
61ee74e0fd
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 14:52:05 +02:00
James
a3830c2566
IndexRangeNode now working with skiplists.
2014-08-27 14:51:56 +02:00
Max Neunhoeffer
27d8409425
Implement canThrow method for SubqueryNode.
2014-08-27 13:07:05 +02:00
Max Neunhoeffer
47da2daa76
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 12:11:24 +02:00
Max Neunhoeffer
23723d8e48
Add an explanation of index operators.
2014-08-27 12:10:51 +02:00
Jan Steemann
86ce08c96f
added comments
2014-08-27 11:34:37 +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
James
851420c723
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-26 15:19:13 +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
James
b8415aaca5
making useIndexRange abort if it encounters a limit node.
2014-08-26 13:11:31 +02:00
James
ad3e6d22a1
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-26 13:02:58 +02:00
James
bf952d37be
IndexRangeBlock working for hash indexes.
2014-08-26 13:02:31 +02:00
Willi Goesgens
27063a08b5
SortIndex optimizer:
...
- group the ASC/DESC
- find out the real attribute name for nested attributes
2014-08-26 09:48:20 +02:00
Max Neunhoeffer
a7b3f4fe1f
Take out TODO line.
2014-08-26 09:46:00 +02:00
Max Neunhoeffer
4fecd85e4c
Add a destructor to delete _ranges in FilterToEnumCollFinder.
2014-08-26 09:45:32 +02:00
Max Neunhoeffer
a7814a7ad2
Return headers and body in ArangoClusterComm.syncRequest method.
2014-08-25 16:35:02 +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
30264eb6d2
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-25 15:12:09 +02:00
James
8896a01753
making the arguments of IndexRangeNode more general.
2014-08-25 15:11:54 +02:00
Willi Goesgens
91d420ea07
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-25 13:33:59 +02:00
James
776cb02f1e
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-25 13:12: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
Willi Goesgens
5bcc8d784f
Add the nodeID we tried to lookup without success in the exception message.
2014-08-25 11:43:48 +02:00
Willi Goesgens
f6b1433160
When compiled in maintainer mode, print c-backtraces on Arango Exceptions too.
2014-08-25 10:27:25 +02:00
Jan Steemann
92739aa04d
indentation
2014-08-23 02:58:28 +02:00
Jan Steemann
80e5ceeb52
emplace
2014-08-23 01:28:58 +02:00
Jan Steemann
dcfa59806e
more C++11
2014-08-23 00:51:13 +02:00
Jan Steemann
86bf8e3c4f
removed unused function argument
2014-08-23 00:50:37 +02:00
Jan Steemann
683fbf4ec4
using emplace
2014-08-23 00:48:39 +02:00
Jan Steemann
7330597f15
fixed ambigious method JsonHelper::getStringValue
2014-08-22 21:53:29 +02:00
Jan Steemann
835b26f17c
only initialize v8 dispatcher when there is a dispatcher
...
when the server is started with the --no-server option, the v8 dispatcher
was still initialized and this always failed and printed error messages.
2014-08-22 21:51:53 +02:00
Jan Steemann
a70a9613f6
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
lib/BasicsC/voc-errors.h
2014-08-22 21:51:38 +02:00
Jan Steemann
b978133e1b
fixed compile warning
2014-08-22 20:05:44 +02:00
Jan Steemann
768c3b9bbc
comments
2014-08-22 18:03:42 +02:00
Jan Steemann
04fbe668cc
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-22 17:58:12 +02:00
Jan Steemann
1d34fa4896
stub for IndexRangeBlock
2014-08-22 17:58:02 +02:00
Jan Steemann
9f9277357b
some more asserts
2014-08-22 17:57:47 +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
45949608a1
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-22 16:58:02 +02:00
James
99623c8e2a
finished deserialising of IndexRangeNode.
2014-08-22 16:57:34 +02:00
Willi Goesgens
8a402683ed
Optimizers: start implementing the sorting via indexes.
2014-08-22 16:48:52 +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
514c2e74f3
indentation
2014-08-22 13:56:01 +02:00
Jan Steemann
45d5d0f53a
cppcheck
2014-08-22 13:53:21 +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
0a439474e5
cppcheck
2014-08-22 12:51:26 +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
8d31137698
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-22 10:56:16 +02:00
James
3987067339
cleaning up and readded toJsonHelper method for IndexRangeNode.
2014-08-22 10:55:51 +02:00
Max Neunhoeffer
7d60eff20d
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-22 10:54:38 +02:00
Max Neunhoeffer
9f868e9a4a
Fix a use after free bug.
2014-08-22 10:54:12 +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
James
9dfeb4bba2
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-22 10:34:22 +02:00
James
1afad665fa
putting RangeInfo stuff into new file.
2014-08-22 10:34:03 +02:00
Jan Steemann
f932e9277c
cloned EnumerateCollectionBlock into IndexRangeBlock
2014-08-22 10:16:32 +02:00
Jan Steemann
871351f803
make count() const
2014-08-22 09:56:39 +02:00
Jan Steemann
d1f550b65e
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-22 09:52:00 +02:00
Jan Steemann
2b27957546
added AQL_EXPLAIN()
2014-08-22 09:51:48 +02:00
Max Neunhoeffer
c4918e4fb7
Silence another compiler warning.
2014-08-22 09:36:31 +02:00
Max Neunhoeffer
821ce84b4b
Disable debugging output.
2014-08-22 09:28:41 +02:00
Max Neunhoeffer
70ba155083
Teach unlinkNode to deal with nodes with multiple parents.
2014-08-22 09:24:38 +02:00
James
fcb3342729
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/OptimizerRules.cpp
2014-08-21 18:41:24 +02:00
James
fecaccf37f
fixing comparison of bounds.
2014-08-21 18:40:02 +02:00
James
89ba89bf77
added method to check if a range info contains a unique value, and cleaned up FilterToEnumCollFinder.
2014-08-21 17:39:06 +02:00
James
409e663818
fixed bugs in comparison of tightness of range bounds, and made it so that invalid ranges insert NoResultNode in the plan.
2014-08-21 17:14:42 +02:00
Max Neunhoeffer
90aed7a640
Fix a bug with a wrong assertion.
2014-08-21 17:01:25 +02:00
Max Neunhoeffer
8919c138c7
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-21 16:55:05 +02:00
Max Neunhoeffer
9a7dd748f4
Fix linkage bug.
2014-08-21 16:54:52 +02:00
Jan Steemann
4482d840ac
added moveFiltersUpRule
2014-08-21 16:54:01 +02:00
Jan Steemann
a1fcf9b28e
activate rule to move calculations up
2014-08-21 16:38:49 +02:00
Jan Steemann
89e74559ae
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-21 15:54:48 +02:00
Jan Steemann
0205f651a6
working on moveCalculationsUpRule
2014-08-21 15:54:40 +02:00
Max Neunhoeffer
5aaa4cf899
Merge.
2014-08-21 15:50:16 +02:00
Max Neunhoeffer
5b0874a78a
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-21 15:49:11 +02:00
James
053ab548ba
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/OptimizerRules.cpp
2014-08-21 15:48:58 +02:00
Max Neunhoeffer
e515d7845c
Fix first bug with parents.
2014-08-21 15:48:49 +02:00
James
102e866a89
adding canThrow methods for ExecutionNodes.
2014-08-21 15:46:41 +02:00
James
4d17c347cc
bug fixes in last.
2014-08-21 15:38:42 +02:00
James
deaa8f1271
only applying hash indexes if ranges indicate equality.
2014-08-21 15:27:53 +02:00
Jan Steemann
51c89c6829
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionPlan.cpp
arangod/Aql/ExecutionPlan.h
2014-08-21 15:24:11 +02:00
Jan Steemann
81f08b7032
added insertDependency
2014-08-21 15:17:55 +02:00
Max Neunhoeffer
321ab35551
Finish _parents in ExecutionNodes business.
2014-08-21 15:15:46 +02:00
Frank Celler
bcf4902876
worker is now a function with context
2014-08-21 14:57:17 +02:00
Jan Steemann
86707b336e
do not unregister nodes on unlink
2014-08-21 14:23:07 +02:00
James
9cc85003ff
fixed nextId in clone method for execution plans.
2014-08-21 13:59:27 +02:00
Jan Steemann
1d78071176
fixed filter removal optimizer rule
2014-08-21 13:57:08 +02:00
Jan Steemann
98251272cd
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-21 13:52:02 +02:00