1
0
Fork 0
Commit Graph

203 Commits

Author SHA1 Message Date
Max Neunhoeffer 247f739bee Sort out variable usage in variable bound expressions.
Not yet compiling, need to sort out access to the Ast object.
2014-09-12 11:21:52 +02:00
Jan Steemann 92744da411 fixed invalid memory access 2014-09-12 09:27:58 +02:00
Max Neunhoeffer 2569dac1b9 Fix a bug with variable bounds. 2014-09-12 00:35:47 +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 94e95a0274 Repair skipSome for IndexRangeBlock, untested. 2014-09-11 15:42:52 +02:00
Max Neunhoeffer aa00df7edf Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/Query.h
2014-09-11 14:31:13 +02:00
Max Neunhoeffer 31e02e42cb Instanciate expressions for variable bounds.
And various cleanups.
2014-09-11 14:28:38 +02:00
Jan Steemann 71600f89b7 use RANGE AqlValue type 2014-09-11 11:56:40 +02:00
Max Neunhoeffer 028740a4bd Come up with plan for variable bounds execution. 2014-09-10 16:44:08 +02:00
Max Neunhoeffer 69c464ef13 Restructure RangesInfo handling to allow for variable ranges. 2014-09-10 15:20:28 +02:00
Max Neunhoeffer 7dcdd27891 Merge branch 'aql2' into mmh 2014-09-10 09:41:54 +02:00
Max Neunhoeffer 83b31459e1 Fix another bug with new ranges format. 2014-09-10 09:39:11 +02:00
Max Neunhoeffer 673df76b94 Fix bug with new RangeInfo. 2014-09-10 08:57:18 +02:00
Max Neunhoeffer 8aa75f01a5 Snapshot to move home. 2014-09-09 17:05:47 +02:00
Willi Goesgens dbdae3faa9 Styleguide cleanup: "initialize" 2014-09-09 11:49:44 +02:00
Max Neunhoeffer bc54c047ba Fix another memleak. 2014-09-08 11:52:41 +02:00
Max Neunhoeffer 06a525929c Fix a memleak with hash index lookup in AQL. 2014-09-08 11:01:03 +02:00
Max Neunhoeffer eb6fab36e8 Fix a leak in FilterBlock. 2014-09-08 10:29:48 +02:00
Willi Goesgens 8f1123c8b9 Rangeinfo: fix handling of < and >; the handling of _undefined was wrong and we would never add these ranges. 2014-09-04 11:52:35 +02:00
James b6f9f11e5e added all node types to FilterToEnumCollFinder. 2014-08-29 17:44:32 +02:00
James 671824985e added all node types to FilterToEnumCollFinder. 2014-08-29 17:40:56 +02:00
James 46b40015ee renovating RangeInfo stuff to avoid mem leaks. 2014-08-29 11:52:19 +02:00
Jan Steemann d3624c3244 attempt to fix infinite ranges in skiplists 2014-08-28 16:54:45 +02:00
James 3f646034c8 cleaning up IndexRangeBlock::readSkiplistIndex 2014-08-28 15:12:50 +02:00
James 9644fc87c7 fixed bug in last. 2014-08-28 15:00:53 +02:00
James 05dac4f52d Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Optimizer.cpp
2014-08-28 14:41:51 +02:00
James 1deed3ebce fixed bugs useIndexRange. 2014-08-28 14:39:26 +02:00
Jan Steemann 844955cafd disabled debug output 2014-08-28 14:10:41 +02:00
Max Neunhoeffer 338a9c6c54 Implement permutation of EnumerateCollectionNodes.
Also: restructure leveling of rules.
And:  remove some debugging output (and add some other).
2014-08-28 13:28:04 +02:00
James ee88997e8e skiplists in IndexRangeBlock working. 2014-08-27 21:07:34 +02:00
James c8667290b5 fixing bugs in last and removing debug prints. 2014-08-27 16:15:53 +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 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
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 5d5aaaa949 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-22 12:00:55 +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 30c6b26b6d add plans! 2014-08-22 10:44:19 +02:00
Jan Steemann f932e9277c cloned EnumerateCollectionBlock into IndexRangeBlock 2014-08-22 10:16:32 +02:00
Jan Steemann dc025e909b added free function 2014-08-21 13:45:22 +02:00
Jan Steemann 1442b9ebeb pass ExecutionEngine to ExecutionBlock, added stats for ExecutionEngine 2014-08-21 12:33:13 +02:00
Jan Steemann 1edd170317 turned off optimization 2014-08-21 11:21:03 +02:00
Max Neunhoeffer b1be847af4 Add NoResultsBlock. 2014-08-21 10:32:38 +02:00
Jan Steemann 670b407185 disable filters that never produce results 2014-08-20 18:24:52 +02:00
Jan Steemann e4abcdc843 added optimizer rule 2014-08-19 13:59:05 +02:00
Jan Steemann e6e78811b5 fixed replace 2014-08-18 14:27:23 +02:00
Jan Steemann 7b3389b55c modification queries 2014-08-18 13:52:41 +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 56eb49dcf7 fixed compile error 2014-08-15 18:22:19 +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
Jan Steemann 655d7759bf added canThrow() for Expression 2014-08-14 20:20:59 +02:00
Jan Steemann 19da250191 fixed error 2014-08-14 19:21:08 +02:00
Jan Steemann 2dbd8252c4 remove compile warning 2014-08-14 17:31:30 +02:00
Jan Steemann dedc2cb035 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-14 16:59:51 +02:00
Jan Steemann b19d632b4a RemoveBlock 2014-08-14 16:59:43 +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
Max Neunhoeffer 3e135323dd Change the API one more time. 2014-08-13 15:44:44 +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
Max Neunhoeffer e2851d1b2d Adjust some indentation. 2014-08-12 22:57:56 +02:00
Max Neunhoeffer 1b088ada7f Take out some debugging output. 2014-08-11 14:30:13 +02:00
Max Neunhoeffer b6564690ee Take care of empty lists to loop over. 2014-08-11 13:15:13 +02:00
Jan Steemann 6eb9dcb32e some comments 2014-08-08 19:52:43 +02:00
Max Neunhoeffer 9ce702c1b0 Fix static analysis once more. 2014-08-08 13:27:06 +02:00
Willi Goesgens 8eb3cfeca3 Implement subquery block - these parameters also should be enabled. 2014-08-07 18:04:42 +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
Willi Goesgens 69ff2303c9 Implement subquery block 2014-08-07 16:56:35 +02:00
Max Neunhoeffer 1d6f7bc3d2 Sort out bind as a preparation for subqueries. 2014-08-07 11:56:26 +02:00
Max Neunhoeffer 901129394e More comments, more generic functionality. 2014-08-04 12:51:53 +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 b6af736c60 smallness 2014-08-01 13:16:07 +02:00
Max Neunhoeffer 341675ffaf Destructor of ExecutionBlock must not destruct children. 2014-08-01 12:18:41 +02:00
Max Neunhoeffer e7e98262ea Redo instanciator using Walker and in ExecutionEngine. 2014-08-01 11:56:39 +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
Jan Steemann 60d493c56c always use variables 2014-07-31 14:36:03 +02:00
Jan Steemann 4b6ab03102 rename variables in JSON 2014-07-31 14:02:17 +02:00
Jan Steemann 1ff3d44e88 removed AQL_PENG 2014-07-31 12:30:16 +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 65b477ddbd Snapshot, compiles, does not work. 2014-07-29 13:40:54 +02:00
Jan Steemann 4ff91b8405 fixed Json construction 2014-07-29 09:09:10 +02:00
Jan Steemann ef2fa52149 make it link 2014-07-28 16:32:49 +02:00
Max Neunhoeffer 5684bb5b65 Add RootBlock and stuff. 2014-07-28 16:26:24 +02:00
Max Neunhoeffer f2b135ef36 Start infrastructure for execution engine. 2014-07-28 09:41:19 +02:00