1
0
Fork 0
Commit Graph

4042 Commits

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