1
0
Fork 0
Commit Graph

298 Commits

Author SHA1 Message Date
Jan Steemann 6405c82a32 removed global reverse-flag for IndexNode. this flag has to be moved into the separate indexes used by the node 2015-09-30 14:14:41 +02:00
Michael Hackstein e35ea8995e Fixed used after free of condition node. Cloned the Condition AST whie handing it over. Still get a double free exception. IndexNodeis now handled. 2015-09-29 09:13:08 +02:00
Michael Hackstein 1e9c6f110b Started implementing the IndexBlock. Right now it expects an iterator for each used index that is created by an evaluated expression from the Block. Then it will go through all iterators in every get/skip some step 2015-09-28 19:30:10 +02:00
Jan Steemann abc87b2d5f added IndexNode stub 2015-09-25 13:40:51 +02:00
Michael Hackstein 1941b7f880 Added a new IndexNode does not compile yet 2015-09-25 13:18:43 +02:00
Michael Hackstein 1a7f414c16 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-09-18 12:21:39 +02:00
Frank Celler c4d1fff729 new traversal 2015-09-18 10:40:28 +02:00
CoDEmanX b4593a7e82 Change spelling of 'initialize' to American English (comments and log messages only) 2015-09-01 17:07:21 +02:00
Max Neunhoeffer ff135a10ad Add some overrides to silence a clang compiler warning. 2015-08-19 14:46:06 +02:00
Jan Steemann 2d8777bc6c make the optimizer create less plans 2015-07-30 00:07:32 +02:00
Jan Steemann 4912ce3200 fix cluster startup 2015-07-29 12:55:06 +02:00
Jan Steemann cdfdec9244 save some overhead when walking plans 2015-07-28 11:44:34 +02:00
Jan Steemann ead280afe5 added DISTINCT 2015-07-24 13:19:55 +02:00
Jan Steemann c6d5f7d775 use move 2015-07-23 10:30:49 +02:00
Jan Steemann ce31550a9f fix variable naming in COLLECT INTO results in case the COLLECT is placed in a subquery which itself is followed by other constructs that require variables 2015-06-19 13:00:49 +02:00
Jan Steemann d2fef98c02 renamed internal function 2015-06-03 18:24:24 +02:00
Jan Steemann 3bb5eb1a9d small optimizations 2015-06-02 23:20:00 +02:00
Jan Steemann 574d521472 added alternative slice() method for AqlItemBlock
this method will copy only the first row from a source block into
a one-row target block. certain registers can be excluded. used to
initialize the registers for a subquery
2015-04-28 22:47:07 +02:00
Jan Steemann 974b656c1b allow overriding COLLECT method 2015-04-21 14:45:22 +02:00
Jan Steemann 61499432b7 do not remove constant sorts when creating plans, but during optimization phase
less utf8 comparisons
2015-04-20 11:32:29 +02:00
Jan Steemann d9add3a493 fixed collect in cluster 2015-04-16 21:10:48 +02:00
Jan Steemann ff6e56d89c adjusted some tests 2015-04-15 23:45:07 +02:00
Jan Steemann 8926e3f2e2 initial commit 2015-04-15 19:04:21 +02:00
Jan Steemann 013209b9c7 add expressionType to JSON output of CalculationNode 2015-04-03 15:02:17 +02:00
Jan Steemann 2f58e4ea61 small cleanup 2015-03-25 12:42:44 +01:00
Jan Steemann a3c0612798 added cluster tests 2015-03-24 14:34:09 +01:00
Jan Steemann 66e2273482 added documentation for UPSERT 2015-03-24 00:44:52 +01:00
Jan Steemann e3bf1c709c upsert blocks 2015-03-23 15:31:07 +01:00
Jan Steemann 8e48f98045 Merge branch 'devel' of https://github.com/arangodb/arangodb into data-modification
Conflicts:
	arangod/Aql/Collection.cpp
	arangod/Aql/ExecutionBlock.cpp
2015-03-20 21:54:39 +01:00
Jan Steemann a9cddb824f more usage of unique_ptrs 2015-03-20 00:05:32 +01:00
Jan Steemann 6b24da1036 in the middle of refactoring 2015-03-17 09:08:25 +01:00
Jan Steemann dd74c6ac87 execute read and write operations of different collections in the same AQL query in lockstep, and not sequentially 2015-02-05 18:27:10 +01:00
Jan Steemann e84a5e8eb3 use indexes for sorting in more cases 2015-02-05 00:10:12 +01:00
Jan Steemann c18ff7f300 use-index-for-sort rule can now remove sorts in more cases 2015-02-02 22:53:25 +01:00
Jan Steemann 875a695b22 selectivity estimates 2015-02-02 20:14:36 +01:00
Jan Steemann c49986d0e8 preparation for conditions 2015-01-25 10:40:13 +01:00
Jan Steemann 86716e1834 fix subquery optimization 2015-01-19 11:01:32 +01:00
Jan Steemann 1003e52cf7 some cleanup 2015-01-18 16:41:48 +01:00
Jan Steemann 2d0a37d826 automatically create _keys in DistributeNode on insert 2015-01-12 10:33:05 +01:00
Jan Steemann f2590881f1 return old or new values in data-modification operations 2015-01-08 16:35:54 +01:00
Willi Goesgens e2f206fd2c Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
Conflicts:
	arangod/Aql/grammar.cpp
2015-01-07 15:50:44 +01:00
Willi Goesgens f905123802 Implement REMOVE/INSERT/UPDATE/REPLACE return the changed values 2015-01-07 15:48:13 +01:00
Jan Steemann 62696b6984 prerequisites for further COLLECT optimizations 2015-01-07 09:42:46 +01:00
Max Neunhoeffer 6fe1fb8568 Fix modifying AQL in cluster. 2014-12-23 22:44:01 +01:00
Max Neunhoeffer 1cdf439845 Broken version, errors not yet fixed. 2014-12-23 16:51:48 +01:00
Jan Steemann 6d6d67f06f activated optimizer rule remove-sort-rand
fixed tests, updated documentation
2014-12-21 18:50:50 +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 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
Max Neunhoeffer 62f03aa013 Choose skiplistIndex if in doubt. 2014-12-08 16:53:05 +01:00
Jan Steemann 8f99e59747 issue #1163: fullcount was sometimes used for wrong LIMIT node 2014-12-05 19:02:51 +01:00
Jan Steemann dd68db2252 fixed precedence of range operator 2014-12-05 11:00:26 +01:00
Jan Steemann 7e161b88ce issue #1131: added KEEP for `COLLECT...INTO` 2014-12-03 17:44:10 +01:00
Jan Steemann 4f39b9e358 optimize away `INTO` of `COLLECT` if unused 2014-12-03 13:49:03 +01:00
Max Neunhoeffer 7161a6b848 Reengineer cost estimation completely.
One test failing in single-server-AQL.
Cluster not yet tested.
2014-11-14 18:58:08 -05:00
Jan Steemann c8c16767be added rule to remove filters if covered by index ranges - not yet activated 2014-11-06 23:18:18 +01:00
Jan Steemann 7d036da648 fixed limit estimation 2014-11-06 13:44:55 +01:00
Jan Steemann bf30927913 removed canThrow tag for various built-in functions 2014-11-05 14:40:00 +01:00
Jan Steemann 025d73ae03 re-added support for fullCount 2014-11-01 15:20:05 +01:00
Max Neunhoeffer bfce170cae Fix cost estimation of SortNodes. 2014-10-29 15:41:38 +01:00
Jan Steemann 8bb213e7ba sort and cache list expression values
emplace

fixed wrong assertion
2014-10-29 01:02:20 +01:00
Jan Steemann 529bf386d7 fixed some API errors 2014-10-28 11:30:49 +01:00
Jan Steemann 13d240384f less namespace pollution 2014-10-28 00:24:37 +01:00
Jan Steemann b7c93c361a fixed tests 2014-10-27 16:43:10 +01:00
Jan Steemann 97a4355c4e fixed tests 2014-10-21 13:45:46 +02:00
Max Neunhoeffer 6eb2073336 Rename VarOverview into RegisterPlan, because that is what it is. 2014-10-20 09:14:01 +02:00
Max Neunhoeffer db7b23bdb8 Fix cloning of VarOverview. 2014-10-20 09:04:32 +02:00
Jan Steemann 912a8162fb some renaming 2014-10-16 17:23:50 +02:00
James 9f942d0ce3 finished first version of DistributeBlock/Node. 2014-10-15 10:53:09 +01:00
Willi Goesgens 3a7a03a51f Don't add intermediate calculationnodes for LET-statements to forward the results of subqueries. Instead adjust the outvariable of the subquerynode. 2014-10-10 17:00:49 +02:00
Jan Steemann 4ff58364f1 fixed cloning of plans 2014-10-07 12:00:37 +02:00
Jan Steemann 0f83d8132f fixed some transaction threading errors 2014-10-06 18:39:01 +02:00
Willi Goesgens 7dac9d8cc7 Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel 2014-10-06 14:16:39 +02:00
Willi Goesgens 48c5ff938e If we clone an ExecutionNode for the same AST we also have to copy the evaluation members, but we don't need a deep-copy. 2014-10-06 14:15:41 +02:00
James 5af60d121e Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-06 12:57:17 +01:00
James 95fd279a52 distribution node/block declarations etc. 2014-10-06 12:57:09 +01:00
Willi Goesgens 8f74eeff97 Assert whether we have a varoverview. 2014-10-06 13:20:31 +02:00
James 5a070a4e0a remove const-qualified types in VarInfo struct to allow compilation. 2014-10-03 09:27:35 +01:00
Willi Goesgens e1efab6fb5 Fix cloning to other ASTs - dereference pointers to IDs and look up the items on the new lists 2014-10-02 18:41:13 +02:00
Jan Steemann 573d837561 off-by-one fix 2014-10-02 17:06:12 +02:00
Willi Goesgens bc627dda7b Also copy the varoverview to the clone. 2014-10-02 10:40:09 +02:00
Max Neunhoeffer be07d39457 Rename staticAnalysis -> planRegisters. 2014-10-02 00:11:15 +02:00
Jan Steemann 5b0b1f0af5 indenting 2014-10-01 19:06:29 +02:00
Jan Steemann 0d9cdfc87c struct Index 2014-10-01 15:35:16 +02:00
Max Neunhoeffer 993a89fea2 Fix compilation again. 2014-09-30 23:30:55 +02:00
Max Neunhoeffer 4b21832bba Take out unnecessary friend class declarations. 2014-09-30 23:23:46 +02:00
Max Neunhoeffer 8bffb3daa3 Finish transplantation. 2014-09-30 23:20:51 +02:00
Max Neunhoeffer 5676e82872 Make it compile using friend classes. 2014-09-30 20:14:39 +02:00
Max Neunhoeffer 40d7dec7bc Snapshot. 2014-09-30 16:49:12 +02:00
Max Neunhoeffer 5dbcac8efe Start transplantation of _varOverview to ExecutionNodes. 2014-09-30 16:44:01 +02:00
Willi Goesgens 3f566f6289 Enable node* clone functions to produce deep copies which live on a specified query. 2014-09-30 14:09:12 +02:00
Jan Steemann b31987fea7 pass data to RemoteNode 2014-09-29 16:36:52 +02:00
Jan Steemann ec1e6552ca clone plan for DBServers 2014-09-29 15:57:53 +02:00
Jan Steemann 3ac25ad56f fixed some issues with remote queries 2014-09-29 12:14:03 +02:00
Jan Steemann d177bc110c comments 2014-09-29 09:06:06 +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
Willi Goesgens d003eecac1 We need to pass a reference since we want to return values onto this; and return const references to not duplicate the memory. 2014-09-26 15:22:41 +02:00
Jan Steemann 578d22c95b Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-09-26 13:58:16 +02:00