1
0
Fork 0
Commit Graph

413 Commits

Author SHA1 Message Date
Jan Steemann a7538ca6e3 lazy hash index iteration 2015-01-18 03:25:06 +01:00
Jan Steemann cacaddd5e0 less copying hash index results 2015-01-18 00:52:41 +01:00
Jan Steemann 2cbc278e6c finally 2015-01-12 14:23:26 +01:00
Jan Steemann 2d0a37d826 automatically create _keys in DistributeNode on insert 2015-01-12 10:33:05 +01:00
Willi Goesgens f905123802 Implement REMOVE/INSERT/UPDATE/REPLACE return the changed values 2015-01-07 15:48:13 +01:00
Jan Steemann 19d2d6668f added random iteration for collections 2014-12-19 18:01:13 +01:00
Jan Steemann dd60e53ce3 added more collect special cases 2014-12-16 22:52:33 +01:00
Jan Steemann bcdeabd3ab Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
2014-12-15 21:53:51 +01:00
James f5763be5f4 final clean up 2014-12-13 19:09:18 +00:00
James 17ed7fbef4 sorting works, tests updated 2014-12-13 17:47:59 +00:00
Jan Steemann f4d7a57c19 changed `COLLECT...INTO x COUNT` to `COLLECT...WITH COUNT INTO x`
allow executing subqueries without double brackets

jslint
2014-12-12 23:02:24 +01:00
Jan Steemann 8f6193faa2 added optional COUNT clause for AQL COLLECT 2014-12-12 17:18:04 +01:00
James 3ce7164fb6 finally working again, and more tests 2014-12-09 20:15:38 +00:00
James 35be017bb3 snapshot 2014-12-09 16:44:02 +00:00
Jan Steemann cd17c393ab Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/OptimizerRules.cpp
	arangod/Aql/grammar.cpp
2014-12-08 12:37:13 +01:00
James caaa9435b9 cleaning up 2014-12-06 13:04:50 +00:00
Jan Steemann 6185943bc5 prevent double-free of variable bounds 2014-12-03 17:45:46 +01:00
James 8c28127be1 fixing dynamic bounds which are lists. 2014-12-03 11:44:38 +00:00
James 40a67f47c7 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/OptimizerRules.cpp
2014-11-27 09:25:43 +00:00
James 1f69d82a8a working out bugs 2014-11-20 11:51:22 +00:00
James dd025f4a99 initial changes to IndexRangeBlock for OR and IN conditions. 2014-11-18 13:50:59 +00:00
Jan Steemann 3696e3c7c1 fixed memleak 2014-11-13 18:04:05 +01:00
James aba5567b0e cleaning up 2014-11-13 10:51:04 +00:00
James a5006b7617 hash indexes working. 2014-11-13 08:37:52 +00:00
James f55b252f1b snapshot working on IndexRangeBlock and hash indexes 2014-11-11 12:25:59 +00:00
James d6e1971fd3 lazy index working for skiplists 2014-11-11 11:29:46 +00:00
James 84e6881a44 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-11-08 09:53:30 +00:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01:00
James 47810e76e1 quick hack 2014-11-06 10:10:40 +00:00
Jan Steemann 025d73ae03 re-added support for fullCount 2014-11-01 15:20:05 +01:00
Willi Goesgens 10bf137692 Move free logic into its own function, so we can call in in both places. 2014-10-31 11:28:27 +01:00
Max Neunhoeffer 4098279ed6 Implement a shutdown method for the Subqueryblock. 2014-10-28 09:02:01 +01:00
Jan Steemann dacc249105 fixed AggregatorGroup shutdown 2014-10-24 23:39:58 +02:00
Max Neunhoeffer 93ceafa686 Make EnumerateCollectionBlock even more lazy. 2014-10-24 14:10:30 +02:00
James 5821b9da00 fixing Distribute/ScatterBlocks. 2014-10-23 21:02:20 +01:00
James 7a6b2650c1 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-23 13:16:06 +01:00
Jan Steemann 8a544eefb5 commit transaction on remote servers 2014-10-23 11:26:28 +02:00
James 6fe6cecf32 Merge branches 'devel' and 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-23 09:41:57 +01:00
James 88a59b3336 some more cleaning up distribute/gather blocks 2014-10-23 09:41:49 +01:00
Jan Steemann 1dafc31f2d Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-10-22 19:06:03 +02:00
Jan Steemann 54a0f182e2 call shutdown using an errorCode 2014-10-22 19:01:56 +02:00
Willi Goesgens a8b8fbcf28 Properly handle statistics if multiple getSome() calls are performed. 2014-10-22 18:24:42 +02:00
Jan Steemann 7f2373204a fixed cloning of coordinator queries 2014-10-22 17:25:59 +02:00
James 6106e70405 fixing _distBuffer initialisation. 2014-10-21 16:49:19 +01:00
Willi Goesgens 07facdd1c9 Add more precise error messages to runtime errors with the update block 2014-10-21 12:45:02 +02:00
Jan Steemann 5510f7eee8 indentation 2014-10-20 09:51:33 +02:00
James 56c8599dd1 fixes to DistributeBlock cursor init and can now send SHAPED to clients. 2014-10-17 09:25:37 +01:00
Jan Steemann 912a8162fb some renaming 2014-10-16 17:23:50 +02:00
Jan Steemann 70c59a61fd removed macro 2014-10-16 16:28:18 +02:00
James 9f942d0ce3 finished first version of DistributeBlock/Node. 2014-10-15 10:53:09 +01:00
James c0c3f627bb proper initialisation and shutdown of distribute block. 2014-10-10 08:31:19 +01:00
James a346e257bb Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/ExecutionBlock.h
2014-10-09 10:46:49 +01:00
James 92e0d1e459 abstract class BlockWithClients to contain Scatter/DistributeBlocks 2014-10-09 10:39:50 +01:00
Jan Steemann 081a62c6e4 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-10-09 10:45:40 +02:00
Jan Steemann 6cdaaa1b85 fixes for Visual Studio 2014-10-09 10:45:31 +02:00
James 084078f61f fixed tests for remove-unnecessary-remote-scatter and undistribute-remove-after-enum-coll, renamed distributeInCluster to scatterInCluster. 2014-10-09 08:45:34 +01:00
James 2ed7fb13b2 DistributeBlock getOrSkipSome done as far as possible. 2014-10-08 10:26:04 +01:00
James 4a8ef130f5 DistributeBlock getOrSkipSome method minus the hard part. 2014-10-07 10:33:37 +01:00
James 95fd279a52 distribution node/block declarations etc. 2014-10-06 12:57:09 +01:00
James aee0605742 better initialiseCursor and shutdown for ScatterBlock 2014-10-06 10:30:28 +01:00
Jan Steemann a2e9fadc7d moved assignment into constructor 2014-10-02 18:38:36 +02:00
Jan Steemann 66d2fc570f move register assignment into constructor 2014-10-02 18:27:53 +02:00
Jan Steemann f44599644c moved register assignment into constructor 2014-10-02 17:52:45 +02:00
Jan Steemann 31005892d2 assign register in constructor 2014-10-02 17:35:43 +02:00
Jan Steemann 573d837561 off-by-one fix 2014-10-02 17:06:12 +02:00
James 8e8c5c9934 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-02 10:03:28 +01:00
James 2f887e197e adding remainingForShard to ScatterBlock 2014-10-02 10:03:08 +01:00
Jan Steemann 67873e5edd Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-10-02 10:34:33 +02:00
Jan Steemann 7f9da1c397 asserts 2014-10-02 10:34:08 +02:00
Max Neunhoeffer a59d1e4448 Start to sort out ScatterBlock's special API. 2014-10-02 09:55:15 +02:00
Jan Steemann 38d43a2fb3 print error message in cases AqlHandler fails 2014-10-01 17:47:43 +02:00
Max Neunhoeffer 8bffb3daa3 Finish transplantation. 2014-09-30 23:20:51 +02:00
Max Neunhoeffer 5dbcac8efe Start transplantation of _varOverview to ExecutionNodes. 2014-09-30 16:44:01 +02:00
Jan Steemann 3a2e13b910 pass queryId to remote servers 2014-09-29 17:35:10 +02:00
Max Neunhoeffer 8fbe9bda98 Remove some unnecessary and fatal destructors. 2014-09-29 08:42:30 +02:00
James 4d0b3360cb fixing arithmetic in available in GatherBlock. 2014-09-27 14:14:03 +01:00
James 75df1bff15 destructor for SubqueryBlock, deletes private data 2014-09-27 13:19:58 +01:00
James b0ff6d1712 destructor for CaluculationBlock, deletes local data. 2014-09-27 13:17:45 +01:00
James 0c98677b16 destructor fo EnumerateListBlock, deletes local data 2014-09-27 13:13:30 +01:00
James 1c52127cc1 destructor for GatherBlock, deletes _gatherBlockBuffer 2014-09-27 12:53:27 +01:00
James dd716301ab moving _sortRegisters from initCursor to initialize. 2014-09-27 12:41:59 +01:00
James bcebeb4dd0 comments for ScatterBlock and some reordering 2014-09-27 12:31:12 +01:00
James 69f2cfd5a5 cleaning up, and comments in .cpp for GatherBlock 2014-09-27 12:12:50 +01:00
James 14eaac044c comments before GatherBlock in header, renamed _buffer, _pos which are
non-standard
2014-09-27 12:03:55 +01:00
Max Neunhoeffer 45b900913c Some adjustments to code in GatherBlock.
Finish first version of RemoteBlock.
2014-09-27 01:45:05 +02:00
Jan Steemann 9e47f3ca27 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-09-26 20:23:52 +02:00
Jan Steemann c3ce45e0dd added block instanciation for coordinator, v0.0.0 2014-09-26 20:17:42 +02:00
Max Neunhoeffer 5f5cf84641 Refactor getSome for RemoteBlock. 2014-09-26 16:49:26 +02:00
Max Neunhoeffer 046d4f524d Implement getSome for RemoteBlock. 2014-09-26 16:19:25 +02:00
Max Neunhoeffer e9bac83e67 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 13:23:33 +02:00
Max Neunhoeffer c4fd3e7553 First steps towards RemoteBlock. 2014-09-26 13:23:21 +02:00
James 9ae0879ba4 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 11:34:18 +01:00
James 53b3abeee0 ScatterBlock uses shardId strings instead of clientId numbers. 2014-09-26 11:34:07 +01:00
Jan Steemann 3afadfdefa fixed compile warnings 2014-09-26 12:30:42 +02:00
James e8dc7694e3 shutdown method for GatherBlock and initializeCursor for ScatterBlock 2014-09-26 10:40:05 +01:00
James 2070175a51 getOrSkipSomeForClient method for ScatterBlock. 2014-09-26 09:32:39 +01:00
James b9d27bee42 preliminary methods for ScatterBlock. 2014-09-25 11:08:47 +01:00
James 3d6dc1eddc added missing hasMore method to GatherBlock, starting for ScatterBlock. 2014-09-25 09:41:27 +01:00
James 37cfa73081 first attempt at GatherBlock::nextValue 2014-09-24 10:21:08 +01:00
James 5362ff3203 adding skipSome method for GatherBlock. 2014-09-23 18:06:08 +01:00
James 838290381b cleaning up. 2014-09-23 17:46:08 +01:00
James d9725b037b about to delete some junk 2014-09-23 17:35:41 +01:00
James 54e8caba4d interim commit. 2014-09-23 11:27:25 +01:00
James 42ab416497 count, remaining, getBlock for GatherBlock. 2014-09-23 10:10:24 +01:00
James 6bf9c1d461 stub for GatherBlock. 2014-09-23 09:14:33 +01:00
Max Neunhoeffer 35ffe6b9e4 Restructure who has Ast and ExecutionPlan.
Not compiling yet.
2014-09-12 14:44:20 +02:00
Max Neunhoeffer ee9a24f7ba Snapshot, broxen. 2014-09-11 18:50:43 +02:00
Jan Steemann 2767bdc7e0 use edge index on both _from and _to 2014-09-11 18:19:05 +02:00
Jan Steemann 491592239c use primary index 2014-09-11 17:19:15 +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
Willi Goesgens dbdae3faa9 Styleguide cleanup: "initialize" 2014-09-09 11:49:44 +02:00
Jan Steemann 1980d8b832 stable sort 2014-08-29 12:24:03 +02:00
James a3830c2566 IndexRangeNode now working with skiplists. 2014-08-27 14:51:56 +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 10603f904d Walker: the process of walking now is aborted if the before-hook returns true. 2014-08-25 15:48:21 +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
Max Neunhoeffer 8fd6cd1184 Implement clear unneeded registers. 2014-08-22 17:00:53 +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
Max Neunhoeffer af93a13209 Fix instanciation of NoResultsNode. 2014-08-21 13:45:46 +02:00
Jan Steemann 1442b9ebeb pass ExecutionEngine to ExecutionBlock, added stats for ExecutionEngine 2014-08-21 12:33:13 +02:00
Max Neunhoeffer b1be847af4 Add NoResultsBlock. 2014-08-21 10:32:38 +02:00
Jan Steemann e4abcdc843 added optimizer rule 2014-08-19 13:59:05 +02:00
Jan Steemann fccfca0e47 refactoring 2014-08-18 13:22:40 +02:00
Jan Steemann b010518e9e implementation of update/replace (update not yet merging old attributes) 2014-08-18 12:34:27 +02:00
Jan Steemann 9348f12f78 implemented insert node 2014-08-15 18:12:33 +02:00
Jan Steemann 773c29cecf further work on RemoveNode 2014-08-15 12:20:17 +02:00
Max Neunhoeffer fcdf57ff09 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionEngine.cpp
2014-08-14 15:07:10 +02:00
Max Neunhoeffer f248792865 Make WalkerWorker a template class.
Implement findNodesOfType for ExecutionPlans.
2014-08-14 15:04:59 +02:00
Jan Steemann 0546e9d8ff implemented stub of RemoveBlock 2014-08-14 14:46:53 +02:00
Jan Steemann 93cfa9e2e4 count number of documents in collection 2014-08-14 13:53:21 +02:00
Willi Goesgens e2732ccccc Refactor ExecutionBlock - move all methods into the cpp file. 2014-08-14 10:53:10 +02:00
Jan Steemann 1ad300cee5 added more node types 2014-08-14 10:23:53 +02:00
Jan Steemann 744ea77bde initialize variable 2014-08-13 18:53:43 +02:00
Max Neunhoeffer 34ffa100ee Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-13 16:03:46 +02:00
Max Neunhoeffer 85bff66b63 Make the SingletonBlock reset _done when initCursor is called. 2014-08-13 16:03:21 +02:00
Jan Steemann 8c24436b69 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-13 16:00:09 +02:00
Jan Steemann 8f9591ca1e properly stringify _from and _to attributes using CollectionNameResolver 2014-08-13 15:59:56 +02:00
Max Neunhoeffer 3e135323dd Change the API one more time. 2014-08-13 15:44:44 +02:00
James 3b91313ef7 replacing getSome and skipSome methods for limit block with getOrSkipSome
method.
2014-08-13 15:25:04 +02:00
James 22b2bedc59 skipSome method for limit block now working. 2014-08-13 15:06:34 +02:00
James fafad41150 Complete merge. 2014-08-13 12:47:32 +02:00
James 19f01bab0a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
2014-08-13 10:26:33 +02:00
James fa29a2ecb0 removed deprecated skipSome method from AggregateBlock. 2014-08-13 09:41:11 +02:00
James b05ae9668c removed deprecated skipSome from FilterBlock. 2014-08-13 09:40:22 +02:00
Max Neunhoeffer 684384e313 Cleanup ExecutionBlocks w.r.t. exceptions and leakages.
Note:
  Aggregate not completely checked.
  Left some FIXMEs.
2014-08-13 00:27:34 +02:00
James eed06f6512 method for getOrSkipSome for AggregateBlock, now working. 2014-08-12 20:06:18 +02:00