1
0
Fork 0
Commit Graph

411 Commits

Author SHA1 Message Date
James 98393aca94 removing DEBUG statements. 2014-08-12 16:59:00 +02:00
James 0c558f57b8 getOrSkipSome method for FilterBlock. 2014-08-12 16:57:12 +02:00
Jan Steemann 13849b2c77 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-12 16:54:07 +02:00
Jan Steemann 14e136f6d4 fixed enumeration over empty docvec 2014-08-12 16:53:58 +02:00
Max Neunhoeffer afaabc7964 Fix bug in skipSome of EnumerateCollectionBlock. 2014-08-12 16:49:00 +02:00
James a62cba0306 reversing changes to skipSome and getSome for EnumerateCollectionBlock. 2014-08-12 16:38:21 +02:00
Max Neunhoeffer cb56e2175f Fix SortBlock empty bug. 2014-08-12 16:00:31 +02:00
Max Neunhoeffer 132b22e0bb Further bugfixes with AqlItemBlock and AqlValue allocations. 2014-08-12 15:52:27 +02:00
Max Neunhoeffer 58d062d426 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-12 15:26:08 +02:00
Max Neunhoeffer 73abdf80f3 Redo exception-safe SortBlock. 2014-08-12 15:25:40 +02:00
Jan Steemann 7feea4c640 fixed [] attribute access 2014-08-12 14:02:46 +02:00
Max Neunhoeffer 3f67262e07 Teach AqlItemBlocks to reference count. 2014-08-12 13:25:35 +02:00
James 09cb203f8c getOrSkipSome method for singleton block. 2014-08-12 10:53:53 +02:00
James d0a7f2890f generic getOrSkipSome for ExecutionBlock base class. 2014-08-12 10:45:08 +02:00
James 835c30edbc want to inspect previous version of function 2014-08-12 10:18:00 +02:00
James 702e143fd6 further updating of skipSome method for AggregateBlock after changes to getSome
method.
2014-08-12 09:34:48 +02:00
James 8b71fca20c removed some unnecessary lines from skipSome method for AggregateBlock. 2014-08-12 09:11:37 +02:00
Jan Steemann 7df456a1dd rework of COLLECT 2014-08-11 20:06:08 +02:00
Jan Steemann 83ceedf48e Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-11 18:05:35 +02:00
Jan Steemann 88f6e527f9 small changes 2014-08-11 18:05:27 +02:00
Jan Steemann 5bc797b4d1 made DefaultBatchSize public 2014-08-11 18:04:35 +02:00
James 9c87992bd9 fixed bug in skipSome method for EnumerateListBlock. 2014-08-11 17:10:32 +02:00
James 7d98ab731d removing debugging output. 2014-08-11 16:40:40 +02:00
James c911b93ebd skipSome method for AGGREGATE block. 2014-08-11 16:36:02 +02:00
James 3e32dafc91 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:56:57 +02:00
James 94e0d88067 skipSome method for FilterBlocks. 2014-08-11 15:56:49 +02:00
Max Neunhoeffer 71b97f892f Another initialization bug fixed. 2014-08-11 15:54:01 +02:00
Max Neunhoeffer 07b560cf68 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:45:28 +02:00
Max Neunhoeffer 12ea8fcf74 Fix bugs when .initialize is called multiple times. 2014-08-11 15:44:41 +02:00
James 36147733a1 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 15:41:38 +02:00
James f94b2c22cc fixed bug in skipSome for EnumerateListBlock, and in limit node. 2014-08-11 15:41:30 +02:00
Jan Steemann a2061f66a3 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-11 14:54:25 +02:00
Jan Steemann 24f1f979d0 fixed jsonification of values 2014-08-11 14:54:14 +02:00
James b9cafc7c67 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 14:30:59 +02:00
Max Neunhoeffer 1b088ada7f Take out some debugging output. 2014-08-11 14:30:13 +02:00
James 82a6459fce added skipSome method to EnumerateCollectionBlock. 2014-08-11 14:29:52 +02:00
Max Neunhoeffer 8290bc64fb Make iterator [*] internal variables need no register. 2014-08-11 13:47:23 +02:00
Max Neunhoeffer dd01a7510c Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
2014-08-11 13:17:36 +02:00
Max Neunhoeffer b6564690ee Take care of empty lists to loop over. 2014-08-11 13:15:13 +02:00
James 034f577702 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-11 09:57:05 +02:00
James c9589e0c44 corrected spelling in error and added 2 line breaks. 2014-08-11 09:56:58 +02:00
Jan Steemann 84ea5931dd fixed assertion failure 2014-08-11 09:34:43 +02:00
Max Neunhoeffer b9edd4e5f0 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
	arangod/Aql/Types.h
2014-08-08 23:49:10 +02:00
Jan Steemann 8b830974c7 fixed parser errors 2014-08-08 20:12:10 +02:00
Jan Steemann 6eb9dcb32e some comments 2014-08-08 19:52:43 +02:00
Jan Steemann 1b14aa3779 moved AqlValue to its own file 2014-08-08 19:46:20 +02:00
Jan Steemann c9a0606a96 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Types.cpp
2014-08-08 19:20:53 +02:00
Jan Steemann 61d8998909 aggregate! 2014-08-08 18:56:41 +02:00
Max Neunhoeffer 9cffde03dd Implement steal for AqlItemBlocks and use it for FilterBlock. 2014-08-08 17:57:51 +02:00
Max Neunhoeffer a60ae8baae EnumerateListBlock: forward documentCollection in DOCVEC case. 2014-08-08 17:22:06 +02:00
Max Neunhoeffer 121fde4a0f Try to fix bugs in EnumerateListBlock. 2014-08-08 17:11:44 +02:00
Max Neunhoeffer f03b792616 Improve an exception message. 2014-08-08 16:53:02 +02:00
Max Neunhoeffer ac28678640 Change a getBlock call and improve exception message. 2014-08-08 16:51:59 +02:00
Max Neunhoeffer 13ef2912a3 Better error message and remove unnecessary file. 2014-08-08 16:30:05 +02:00
Willi Goesgens 9d86954e9b Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-08 15:50:15 +02:00
Willi Goesgens fd67625174 properly end switch block for EnumerateList. 2014-08-08 15:49:21 +02:00
James e5e3aba970 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-08 15:49:04 +02:00
James e5299e2cd2 adding skipSome method for EnumerateListBlock. 2014-08-08 15:47:43 +02:00
Jan Steemann bc9df8d05a Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-08 15:00:52 +02:00
Jan Steemann adccf60b91 optimization for simple variable references in CalculationBlock 2014-08-08 15:00:38 +02:00
James 1be93b54a9 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-08 14:32:31 +02:00
James fb55c4c753 base class ExecutionBlock methods for skip and skipSome. 2014-08-08 14:31:21 +02:00
Willi Goesgens 3accfe7a3c Implement error handling during executing sub queries. 2014-08-08 13:49:08 +02:00
Jan Steemann ab9f98657b Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-08 13:37:46 +02:00
Jan Steemann 7acb36ee8f added shrink() method for AqlItemBlock 2014-08-08 13:37:34 +02:00
Max Neunhoeffer 6417adfda2 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-08 13:27:28 +02:00
Max Neunhoeffer 9ce702c1b0 Fix static analysis once more. 2014-08-08 13:27:06 +02:00
Jan Steemann 456f2f6264 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-08 13:06:53 +02:00
Jan Steemann aaa0707b66 collect 2014-08-08 13:06:48 +02:00
James dbb02de26c Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-08 11:58:05 +02:00
James 7d95ef0c72 EnumerateListBlock now works with DOCVECs. 2014-08-08 11:57:25 +02:00
Max Neunhoeffer 9b3266c8f8 Add an initialiser. 2014-08-08 11:55:09 +02:00
Max Neunhoeffer 8cbb88b6fb Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-08 11:51:53 +02:00
Max Neunhoeffer 50218231ec Fix static analysis for subqueries. 2014-08-08 11:51:25 +02:00
Jan Steemann 5d838a5a6f refactoring 2014-08-08 11:13:58 +02:00
Jan Steemann ace9eff9e9 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-08 10:53:22 +02:00
Jan Steemann 5d47e8df44 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
2014-08-08 10:53:02 +02:00
James f4142651ef EnumerateListBlock working for ranges. 2014-08-08 10:51:28 +02:00
Jan Steemann c99517ae25 fixed missing collections 2014-08-08 09:54:41 +02:00
James a4f357c15e EnumerateListBlock now working for JSON lists and prepended "explicit" to Json constructors.. 2014-08-08 09:43:54 +02:00
Jan Steemann 82318ebb08 removed a remaining getOne() 2014-08-07 18:39:09 +02:00
James 8b89ea95ac Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-07 17:42:56 +02:00
James 41e0294594 removing unnecessary transaction from EnumerateListBlock. 2014-08-07 17:42:45 +02:00
Jan Steemann d30914afb2 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.h
	arangod/Aql/ExecutionEngine.cpp
2014-08-07 17:25:37 +02:00
Jan Steemann 9734662ee0 begun implementation of AggregateNode, not yet working 2014-08-07 17:02:21 +02:00
Willi Goesgens ba2e7badd8 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-07 16:57:37 +02:00
Willi Goesgens 69ff2303c9 Implement subquery block 2014-08-07 16:56:35 +02:00
James 67ce79aa63 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-07 16:45:29 +02:00
James cb86cef60e first version of EnumerateListBlock for json lists. 2014-08-07 16:45:03 +02:00
Willi Goesgens a548745d1c Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-07 16:18:10 +02:00
Max Neunhoeffer 0f9f01b686 Remove getOne except in the base class. 2014-08-07 16:15:41 +02:00
James 2ac9adcf1c first version of EnumerateListBlock.
It is missing the method for getSome, and only works for json lists.
2014-08-07 15:05:59 +02:00
Willi Goesgens 26b62538f3 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-07 14:17:04 +02:00
Willi Goesgens 75da21ead4 always fetch blocks in the default batch size. 2014-08-07 13:57:26 +02:00
Max Neunhoeffer 1d6f7bc3d2 Sort out bind as a preparation for subqueries. 2014-08-07 11:56:26 +02:00
James 720285acfe Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-07 10:54:22 +02:00
James eef744c32e added new global function triagens::aql::CompareAqlValues.
Also made associated changes in SortBlock.execute().
2014-08-07 10:53:16 +02:00
Max Neunhoeffer baa54afc3b Sort out staticAnalysis for AggregateBlocks. 2014-08-07 10:52:22 +02:00
James aff67afef4 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-07 09:47:08 +02:00
James d15954fbdb working on comparison function for AqlValues. 2014-08-07 09:46:46 +02:00
Max Neunhoeffer c628a85bc8 Take out a cout. 2014-08-07 09:19:01 +02:00
James 643e421585 adding compare() method for AqlValue. 2014-08-06 17:36:15 +02:00
Max Neunhoeffer 7b65a958d8 Take care of static analyis case AggregateNode. 2014-08-06 15:13:22 +02:00
Max Neunhoeffer 70618ec768 Take out a cout. 2014-08-06 14:22:34 +02:00
Max Neunhoeffer 99a32a36b7 Fix bugs in SortBlock. 2014-08-06 14:14:32 +02:00
James 5ac060e687 adding SortBlock, something not working. 2014-08-06 13:36:50 +02:00
James 3e902323dd cleaning up. 2014-08-05 17:28:36 +02:00
Max Neunhoeffer cab02853ef Fix two bugs with new ShapedJson register values. 2014-08-05 15:26:21 +02:00
Max Neunhoeffer 96d8dcc054 Major cleanup, not yet working. 2014-08-05 12:29:36 +02:00
Jan Steemann 129ba6a5ad Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-05 10:23:44 +02:00
Jan Steemann 23d02a3602 added collect plan node generation 2014-08-05 10:23:33 +02:00
Max Neunhoeffer 6e9b345634 Fix a memory leak. 2014-08-04 18:40:34 +02:00
Jan Steemann b2b9c7c03f use constants 2014-08-04 17:38:08 +02:00
Jan Steemann f6384b006d Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Types.h
2014-08-04 17:31:00 +02:00
Jan Steemann 7fd236aa4f fixed enumeratecollection block 2014-08-04 17:27:51 +02:00
Max Neunhoeffer fabfeae14d Add LimitNode. Implement skip generically. 2014-08-04 16:34:37 +02:00
Max Neunhoeffer 8b640be8ac Add Filter node. 2014-08-04 15:11:51 +02:00
Max Neunhoeffer 87af84d4b1 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Types.h
2014-08-04 12:53:39 +02:00
Max Neunhoeffer 901129394e More comments, more generic functionality. 2014-08-04 12:51:53 +02:00
Jan Steemann 2487474e96 master pointers 2014-08-04 11:58:42 +02:00
Jan Steemann 06c9c719e2 optimization for EnumerateCollection 2014-08-04 11:46:19 +02:00
Max Neunhoeffer 91ec3d5647 Some cleanup of interface and names. 2014-08-04 10:29:17 +02:00
Max Neunhoeffer 3ed34b86e7 Rename _exePlan to _exeNode 2014-08-04 09:36:13 +02:00
Jan Steemann 36d9cd6259 properly return compound types 2014-08-01 17:20:30 +02:00
Jan Steemann e733e3e83b fixed some issues 2014-08-01 17:08:12 +02:00
Jan Steemann a530b71477 initialize _pos 2014-08-01 16:11:09 +02:00
Max Neunhoeffer 316bffe45e Move calculation setup to initialize() after staticAnalysis. 2014-08-01 15:12:12 +02:00
Max Neunhoeffer ff5d2c9557 Fix setValue bug. 2014-08-01 15:00:29 +02:00
Max Neunhoeffer 9c9e02a948 More expression stuff. 2014-08-01 14:53:31 +02:00
Max Neunhoeffer 0d434cfc21 Merge. 2014-08-01 14:40:29 +02:00
Max Neunhoeffer 46424e9e0b Call many things register, because they are.
Implement CalculationBlock stub.
2014-08-01 14:35:28 +02:00
Max Neunhoeffer dd1b1c8d01 Fix shared_ptr VarOverview mess. 2014-08-01 13:47:55 +02:00
Max Neunhoeffer 0bbb1a3408 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-01 13:22:45 +02:00
Max Neunhoeffer 2b14d0fb39 Fix shared_ptr pilot mistake. 2014-08-01 13:22:10 +02:00
Jan Steemann b6af736c60 smallness 2014-08-01 13:16:07 +02:00
Jan Steemann 69c55d754c renamed "root" to "return" 2014-08-01 12:23:55 +02:00
Max Neunhoeffer e7e98262ea Redo instanciator using Walker and in ExecutionEngine. 2014-08-01 11:56:39 +02:00
Max Neunhoeffer 5bf0ff1a7c Rename files ExecutionPlan -> ExecutionNode 2014-08-01 11:26:09 +02:00
Max Neunhoeffer c1b15188ff Rename *Plan to *Node. 2014-08-01 11:17:34 +02:00
Max Neunhoeffer cd56e35f1f Sort out static analysis. 2014-08-01 10:28:25 +02:00
Max Neunhoeffer 0a71c3ba73 Finish first draft of staticAnalysis.
Compiles but is untested.
2014-07-31 23:16:00 +02:00
Max Neunhoeffer 3e89688d82 New execution engine. 2014-07-31 17:00:06 +02:00
Max Neunhoeffer b0dd258070 Restructure execution engine with blocks. 2014-07-31 15:36:46 +02:00
Max Neunhoeffer 98d82de6fb Create generic recursive walk functionality for Plans/Blocks. 2014-07-31 10:31:45 +02:00
Max Neunhoeffer 2ef0095797 Start static analysis of variables in ExecutionBlocks. 2014-07-30 23:50:03 +02:00
Max Neunhoeffer d09f2690da Get rid of _nrVars in ExecutionPlans. 2014-07-30 17:00:38 +02:00
Max Neunhoeffer b292208800 Use RootBlock to strip away context and only return latest result. 2014-07-29 20:13:42 +02:00
Max Neunhoeffer 57560108e0 Peng mit shared_ptr. 2014-07-29 16:27:25 +02:00
Max Neunhoeffer 7c5245eff9 Peng geht. 2014-07-29 15:13:16 +02:00
Max Neunhoeffer 65b477ddbd Snapshot, compiles, does not work. 2014-07-29 13:40:54 +02:00
Max Neunhoeffer 29f113a93d New draft for AqlItem, AqlValue, AqlExpression. 2014-07-29 12:18:03 +02:00
Jan Steemann 4ff91b8405 fixed Json construction 2014-07-29 09:09:10 +02:00
Max Neunhoeffer 43ac089187 Seems to work. 2014-07-28 16:55:45 +02:00
Jan Steemann ef2fa52149 make it link 2014-07-28 16:32:49 +02:00
Max Neunhoeffer a998399812 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-07-28 16:26:56 +02:00
Max Neunhoeffer 5684bb5b65 Add RootBlock and stuff. 2014-07-28 16:26:24 +02:00
Jan Steemann 872bb2344b comments 2014-07-28 16:24:10 +02:00
Jan Steemann 22ddd1e022 added comment 2014-07-28 16:21:59 +02:00
Jan Steemann 765e44e80b execution v0.0000001 2014-07-28 15:51:38 +02:00
Max Neunhoeffer 0c89dccc5d Add CalculationPlan, create arangod/Aql/Types.h 2014-07-28 13:16:25 +02:00
Max Neunhoeffer f2b135ef36 Start infrastructure for execution engine. 2014-07-28 09:41:19 +02:00