1
0
Fork 0
Commit Graph

246 Commits

Author SHA1 Message Date
Jan Steemann 7f9da1c397 asserts 2014-10-02 10:34:08 +02:00
Jan Steemann 0d9cdfc87c struct Index 2014-10-01 15:35:16 +02:00
James 7a34d065b5 cleaning up and registering undistributeRemoveAfterEnumColl. 2014-10-01 10:43:54 +01:00
James 2fd8c2b185 prelim version of undistributeRemoveAfterEnumColl 2014-10-01 10:17:36 +01:00
James 22597af5ac version of removeUnnecessaryRemoteScatter which changes the plan in place. 2014-09-30 10:10:03 +01:00
James 3daaaad855 fixing last 2014-09-30 08:48:29 +01:00
James 301ccddf83 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-30 08:29:36 +01:00
James d204ce4019 adding registration of the remove unnecessary remote scatter optimizer rule. 2014-09-30 08:29:21 +01:00
Jan Steemann f3015bd70a fixed indentation 2014-09-29 16:52:45 +02:00
Jan Steemann b31987fea7 pass data to RemoteNode 2014-09-29 16:36:52 +02:00
Jan Steemann 643ffa104d moved isCoordinator to function of its own 2014-09-29 09:38:15 +02:00
Jan Steemann 188fe0c43c accidently committed local modifications. revert 2014-09-29 09:31:27 +02:00
Jan Steemann 0d075dca3f pass queryRegistry into the AQL functions 2014-09-29 09:30:32 +02:00
James d53da7ce4a Optimiser rule to get rid of a RemoteNode->ScatterNode combination 2014-09-27 16:43:08 +01:00
Jan Steemann c3ce45e0dd added block instanciation for coordinator, v0.0.0 2014-09-26 20:17:42 +02:00
Jan Steemann f462c5f620 add database and collection info to gather nodes 2014-09-26 13:58:02 +02:00
Willi Goesgens 53ee658be0 Implement moving of sortnode into the clusterable part of the query; add elements to the json serialisation of the gather node 2014-09-26 12:35:58 +02:00
Willi Goesgens 6c81f630a3 Add filter rule which moves Filters & Calculations into the parts of a Plan that is distributed to clusters. 2014-09-25 17:08:20 +02:00
Max Neunhoeffer 591f7acb8b Fix problems with variable bounds. 2014-09-22 23:30:22 +02:00
Jan Steemann d03faffc53 remove subqueries that produce results that are not used in a query 2014-09-18 23:03:43 +02:00
Jan Steemann 4a2693cebd removed #if 2014-09-18 13:23:38 +02:00
Jan Steemann 50571f84db changed node detection for cluster 2014-09-18 13:21:58 +02:00
Max Neunhoeffer ce2f822521 Merge branch 'aql1' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-18 09:12:25 +02:00
Jan Steemann 5c552d4137 optimizer rule for scatter / gather 2014-09-17 17:29:36 +02:00
Max Neunhoeffer ae5d231c5d Add a comment. 2014-09-17 16:43:40 +02:00
Max Neunhoeffer e054b738c9 Take out some debugging messages. 2014-09-17 16:41:49 +02:00
Jan Steemann bd62c36771 scatter / gather 0.0 2014-09-17 16:00:54 +02:00
Jan Steemann db70b9bfcb added not-yet used nodes for remote, scatter and gather 2014-09-17 14:31:37 +02:00
Jan Steemann 654c2ba0fe backwards iteration, not yet working 2014-09-17 00:40:24 +02:00
Jan Steemann 992ac23450 fixed ranges 2014-09-16 15:48:33 +02:00
Jan Steemann 54b5e7b034 slightly improved access to dynamic bounds 2014-09-16 15:10:43 +02:00
Jan Steemann 677e681b23 adjusted test 2014-09-15 18:17:42 +02:00
Max Neunhoeffer 6cf8b0cf75 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-15 16:16:33 +02:00
Max Neunhoeffer 855a695764 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/RangeInfo.cpp
	arangod/Aql/RangeInfo.h
2014-09-15 16:16:21 +02:00
Max Neunhoeffer 77d6f41b5c Fix more bugs in variable bounds. 2014-09-15 16:10:54 +02:00
Jan Steemann a31cb2af30 disable sort optimizations under certain conditions 2014-09-15 15:28:41 +02:00
Max Neunhoeffer 4a1e3d6b9c Fix bug with variable bounds: must not access document set in this node. 2014-09-15 13:37:38 +02:00
Jan Steemann 5a1dc63946 fixed tons of compile errors in VS 2014-09-15 12:04:49 +02:00
Max Neunhoeffer 511930a8c1 Make variable bounds compile-time switchable. 2014-09-14 22:30:45 +02:00
Max Neunhoeffer 025d57175e Disable variable bounds to let tests run again. 2014-09-14 22:26:57 +02:00
Max Neunhoeffer e617c091e7 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-14 21:47:46 +02:00
Max Neunhoeffer b48d1c1270 Fix more bugs. 2014-09-14 21:47:37 +02:00
Jan Steemann ed7e5d0e67 allow primary key access via _id attribute, too 2014-09-14 00:46:44 +02:00
Jan Steemann 4f6f2ac34f Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
2014-09-12 17:03:04 +02:00
Max Neunhoeffer 0ae0f126b2 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 15:24:28 +02:00
Max Neunhoeffer 465cf950c9 Try to fix bug with variable bounds.
Not yet finished.
2014-09-12 15:24:08 +02:00
Jan Steemann 6552490cbe Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.cpp
	arangod/Aql/ExecutionNode.h
	arangod/Aql/ExecutionPlan.cpp
	arangod/Aql/OptimizerRules.cpp
2014-09-12 15:17:50 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Max Neunhoeffer 35ffe6b9e4 Restructure who has Ast and ExecutionPlan.
Not compiling yet.
2014-09-12 14:44:20 +02:00
Jan Steemann 2767bdc7e0 use edge index on both _from and _to 2014-09-11 18:19:05 +02:00
Jan Steemann c3b90a1037 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-11 17:02:03 +02:00
Jan Steemann 34beb65148 use primary index & edge index 2014-09-11 17:01:53 +02:00
Max Neunhoeffer 6c69129a71 Start computing the variable bounds at runtime. 2014-09-11 16:58:59 +02:00
Max Neunhoeffer 31e02e42cb Instanciate expressions for variable bounds.
And various cleanups.
2014-09-11 14:28:38 +02:00
Max Neunhoeffer c79b95b048 Activate finding of variable bounds. 2014-09-10 16:35:33 +02:00
Max Neunhoeffer 27a9dd050e Variable bounds are recognised. 2014-09-10 16:10:02 +02:00
Max Neunhoeffer 31a1c95e40 Further cleanup of IndexRangeRule and ranges infrastructure.
Prepare for variable bounds.
2014-09-10 12:07:30 +02:00
Max Neunhoeffer dfed690d56 Further cleanup of EQ method in useIndexRange rule. 2014-09-10 11:36:11 +02:00
Max Neunhoeffer 6795f425ab Cleanup buildRangeInfo. 2014-09-10 11:15:43 +02:00
Max Neunhoeffer 7dcdd27891 Merge branch 'aql2' into mmh 2014-09-10 09:41:54 +02:00
Max Neunhoeffer b98cb86605 Take out debugging output. 2014-09-10 09:38:53 +02:00
Willi Goesgens 3e6e008a81 useIndexForSort:
- redirect to pass #5 here too, so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 17:19:49 +02:00
Max Neunhoeffer 8aa75f01a5 Snapshot to move home. 2014-09-09 17:05:47 +02:00
Willi Goesgens 202636cee0 Refactor Optimizer ordering
- create enum with the different steps named
  - unify numbering scheme
  - deploy enum to all places where int level was used
  - add passN enum so you can jump to a Pass when calling addPlan

useIndexForSort:
  - remove inline deletion of dependend nodes of our (removed) sortnode
  - redirect to pass #5 so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 16:27:49 +02:00
Jan Steemann 2a49bf843d updated tests 2014-09-09 15:20:42 +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
Jan Steemann 8fdb2f05af added positive list of nodetypes 2014-09-08 10:39:59 +02:00
Jan Steemann 478007089a do not push sort beyond limit, collect etc. 2014-09-08 10:31:44 +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
Willi Goesgens ebbb9c34b6 Redundand-Sort: implement removing of left item superseeding the sort 2014-09-04 17:53:20 +02:00
Willi Goesgens e23cbf1add Work on Filter to IndexRangeNode tests 2014-09-04 16:33:37 +02:00
Willi Goesgens 61d1bfa76b SortIndex: only indicate we modified a rule if we realy did. 2014-09-03 09:47:08 +02:00
Willi Goesgens 021f3371f2 SortIndex: move the unlinking of the sort attributes after unlinking the sort itself 2014-09-01 18:30:49 +02:00
Willi Goesgens 3b93d0847d SortIndex: fix the way we register our results to the framework 2014-09-01 13:33:18 +02:00
Max Neunhoeffer ecf379c113 Fix a bug with the level management of the useSortRule. 2014-08-30 00:54:47 +02:00
James b6f9f11e5e added all node types to FilterToEnumCollFinder. 2014-08-29 17:44:32 +02:00
James 38520d49eb Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 17:17:59 +02:00
James 21febb33ac cleaning up RangeInfo stuff. 2014-08-29 17:16:08 +02:00
Willi Goesgens 40361d63dc Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-29 17:10:35 +02:00
Willi Goesgens 1f0ce045d3 remove debug output 2014-08-29 17:10:20 +02:00
Max Neunhoeffer bf1f11e651 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 16:57:56 +02:00
Max Neunhoeffer fa9e55eafb Finish taking into account multiple FILTER for IndexRangeRule. 2014-08-29 16:57:34 +02:00
Willi Goesgens 0cb12fc3f5 SortIndex: initialize the rangeInfo the proper way. 2014-08-29 16:45:20 +02:00
Max Neunhoeffer 4ae076db40 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 15:51:08 +02:00
Max Neunhoeffer 65e765478d Make IndexRange rule look for multiple variables in FILTERs.
Still TODO: Pickup further variables when seeing FILTERs.
2014-08-29 15:49:37 +02:00
Jan Steemann 91590f754f Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 15:49:35 +02:00
Jan Steemann b8e12063e2 added "rules" output 2014-08-29 15:27:02 +02:00
James e1ee728a75 remove debug prints. 2014-08-29 14:41:20 +02:00
Willi Goesgens 67894665f4 revert #cef3864e29cfb5308df55e19a2186af07c21d3b8 which was a wrong conflict resolution. 2014-08-29 14:38:39 +02:00
Willi Goesgens d6881ddabd Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-29 12:27:33 +02:00
Willi Goesgens be1c84f480 Exceptions: don't print Backtraces if the exception is handled in the subsequent js code. 2014-08-29 12:15:19 +02:00
James 16ef52bd81 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 11:52:46 +02:00
James 46b40015ee renovating RangeInfo stuff to avoid mem leaks. 2014-08-29 11:52:19 +02:00
Max Neunhoeffer c9193e44b8 Sort out some exception issues. 2014-08-29 11:37:01 +02:00
Max Neunhoeffer f780cff9c6 Fix a bug with a new plan and insert a catch. 2014-08-29 11:09:18 +02:00
Jan Steemann c47807e2ee Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 16:56:05 +02:00
James a14be1d3be Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-28 16:55:39 +02:00
Jan Steemann 687c56f923 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 16:55:22 +02:00
James 4b5e42c52a bugfixes and leaks fixed. 2014-08-28 16:55:18 +02:00