1
0
Fork 0
Commit Graph

342 Commits

Author SHA1 Message Date
Jan Steemann 6df7221691 cleanup 2016-04-07 17:08:44 +02:00
jsteemann 62fd9435d9 fixed some tests 2016-03-17 22:57:11 +01:00
jsteemann dc3581563c bugfixes 2016-03-17 14:46:49 +01:00
Jan Steemann 8b281b0538 repaired explain 2016-03-11 16:38:01 +01:00
Michael Hackstein e60e7a3652 Aql/QueryResult now only uses VelocyPack instead of TRI_json_t. Also adapted all calling places 2016-03-08 13:08:05 +01:00
Michael Hackstein 7c3690c4db AqlQuery now is contructed from VelocyPack builders only. Also variables and Execution Plan is constructed form VelocyPack only. 2016-03-07 19:04:37 +01:00
Jan Steemann c157363f3c less dependencies 2016-03-04 17:21:09 +01:00
Frank Celler 4b2b85f1b5 more cleanup 2016-02-24 19:19:04 +01:00
Jan Steemann bc6283fc91 added WITH collections declarative 2016-02-19 18:20:46 +01:00
Michael Hackstein f32750e1ac Removed obsolete toJson from AQL Nodes 2016-02-16 10:29:38 +01:00
Jan Steemann 3269c59a06 fixed some compile warnings 2016-02-04 12:38:51 +01:00
jsteemann 2d7323a560 fixed warnings shown by clang-3.7 2016-01-31 02:17:36 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
jsteemann 10d84ae525 simplification of COLLECT variants 2016-01-16 22:46:05 +01:00
jsteemann 4abf96e1db removed special case for COLLECT INTO var = expr 2016-01-16 20:20:44 +01:00
Jan Steemann fd7a03980e renamed 2016-01-12 19:25:05 +01:00
Jan Steemann 6937dbc489 aggregate fixes 2016-01-12 17:21:18 +01:00
jsteemann 9a2d9924b9 some bugfixes for aggregators 2016-01-11 23:53:03 +01:00
Jan Steemann 9ee2646b53 aggregators ready for hash-collect 2016-01-11 19:24:53 +01:00
Jan Steemann 1e6a07426c collect refactoring 2016-01-07 14:10:32 +01:00
Jan Steemann ad1163e3bb refactoring for Aql COLLECT 2016-01-07 13:35:12 +01:00
Jan Steemann 3ad20c0cae auto-generated headers 2016-01-06 18:41:51 +01:00
Jan Steemann a3b026d9d1 removed useless sections from code, unified include guards 2016-01-06 14:15:22 +01:00
Jan Steemann f422576ee0 clang-format 2016-01-05 17:43:24 +01:00
Michael Hackstein c00d0cbc4d Improved stability of AQL Traverser. Also added checks for illegal edge cases 2015-12-18 16:17:09 +01:00
Jan Steemann a694b7ef48 make_unique 2015-12-16 11:36:35 +01:00
jsteemann 600c48375d added optimizer rule `sort-in-values` 2015-12-13 23:33:44 +01:00
Jan Steemann ee6792dd6b fixes for traversal and multi-modify 2015-12-08 14:50:05 +01:00
Jan Steemann d572f3ed03 Merge branch 'aql-multi-modify' of https://github.com/arangodb/arangodb into devel 2015-12-03 11:38:30 +01:00
Michael Hackstein 3ea14e66a3 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-12-03 10:19:17 +01:00
jsteemann 9fa0f6d3a7 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-multi-modify 2015-12-02 16:38:50 +01:00
Jan Steemann eb8899d9ae applied changes suggested by cppcheck 2015-12-02 10:17:14 +01:00
Jan Steemann 6ce29823a8 fixed more memleaks 2015-12-01 17:22:14 +01:00
hkernbach 6d25ac57e9 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-12-01 11:25:58 +01:00
jsteemann 49af794f5d Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-multi-modify 2015-12-01 01:56:46 +01:00
jsteemann e7e00e95c1 some cleanup 2015-12-01 01:26:27 +01:00
jsteemann 37f72fa721 micro optimizations 2015-11-30 19:37:58 +01:00
Wilfried Goesgens cd6cc35def Adjust the stage to the now non-void pointered index implementation. 2015-10-22 11:12:21 +02:00
Wilfried Goesgens dae95de667 Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH 2015-10-21 14:54:01 +02:00
Jan Steemann 197be68f7d removed IndexRange* 2015-10-13 15:12:32 +02:00
Jan Steemann fbfc7773ef serialization and deserialization of IndexNodes 2015-10-08 12:02:27 +02:00
Jan Steemann 7d4c379598 small modifications, temporarily disabled interchange-adjacent-enumerations 2015-10-02 19:53:35 +02:00
Jan Steemann 91e8884518 added AggregateNode.* 2015-09-30 15:55:38 +02:00
Jan Steemann 50fa5a2138 added SortNode file 2015-09-30 15:42:48 +02:00
Jan Steemann 9041b7b2c9 file split 2015-09-30 15:29:32 +02:00
Jan Steemann c72c568b07 added findEndNodes 2015-09-25 17:38:46 +02:00
Jan Steemann 9472eb7b45 make it link again 2015-09-25 16:30:29 +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 3a9648d78a More Americanization 2015-09-03 22:25:43 +02:00
Jan Steemann d0bd94f4c5 fixed Json 2015-08-26 16:23:26 +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 6c9922ff6e disable qcache in cluster 2015-07-14 11:11:19 +02:00
Willi Goesgens bd7aa7c305 Remove the global include to iostream; this reduces the compile time by 10%
( http://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/  for inspiration)
2015-07-07 12:11:21 +02:00
Jan Steemann 83b326cfc7 moved PUT /_api/simple/all to C++ 2015-06-18 15:34:45 +02:00
Jan Steemann 3bb5eb1a9d small optimizations 2015-06-02 23:20:00 +02:00
Jan Steemann 224b33cc75 moved UNSET() and KEEP() to cxx implementation 2015-04-22 13:21:05 +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 8926e3f2e2 initial commit 2015-04-15 19:04:21 +02:00
Jan Steemann 2f58e4ea61 small cleanup 2015-03-25 12:42:44 +01:00
Jan Steemann 66e2273482 added documentation for UPSERT 2015-03-24 00:44:52 +01:00
Jan Steemann c62c26e088 Merge branch 'devel' of https://github.com/arangodb/arangodb into data-modification 2015-03-23 15:31:41 +01:00
Jan Steemann e3bf1c709c upsert blocks 2015-03-23 15:31:07 +01:00
Frank Celler 4c5d57f1b8 merged Exceptions.h and Exception.h 2015-03-23 14:05:19 +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 13ddb8b34b fixed some cluster plans 2015-03-17 13:52:09 +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 4142169526 fixed spurious errors when accessing a local collection from a cluster DB server
Conflicts:
	arangod/Aql/Collection.cpp
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/Index.h
2015-01-29 13:06:01 +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
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 797c15b753 Fix two compiler warnings. 2014-12-22 14:51:28 +01:00
Jan Steemann 8412e3d89a removed sort expressions that are constants 2014-12-21 19:47:50 +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 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Jan Steemann dd60e53ce3 added more collect special cases 2014-12-16 22:52:33 +01:00
Jan Steemann 8f6193faa2 added optional COUNT clause for AQL COLLECT 2014-12-12 17:18:04 +01:00
Jan Steemann 399e93c3ff issue #1155: allow bind parameter for sort order
SORT what @order is now allowed
2014-12-08 13:05:40 +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 e4b51f616c Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-12-03 17:46:03 +01:00
Jan Steemann 7e161b88ce issue #1131: added KEEP for `COLLECT...INTO` 2014-12-03 17:44:10 +01:00
Alan Plum 41ab3aa4d6 Renamed mergeArrays->mergeObjects to make API less confusing. 2014-12-02 17:03:03 +01:00
Jan Steemann ac36c0cd7a added mergeArrays attribute 2014-11-28 13:58:49 +01:00
Jan Steemann 292eaad273 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-11-26 19:49:38 +01:00
Jan Steemann 45ebdf7581 enable more indexes 2014-11-26 19:49:28 +01:00
Jan Steemann 57aefb988d fix optimization of subqueries 2014-11-26 15:01:55 +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 025d73ae03 re-added support for fullCount 2014-11-01 15:20:05 +01:00
Jan Steemann 0e27ccbfdb jslintified tests 2014-10-28 15:59:38 +01:00
Jan Steemann f6b8f17dfa less optimizations for simple plans 2014-10-28 15:01:44 +01:00
Jan Steemann 529bf386d7 fixed some API errors 2014-10-28 11:30:49 +01:00
Jan Steemann 699517413e fixed clumsy error handling 2014-10-24 10:29:13 +02:00
Jan Steemann 7be268c07c changed AQL optimizer to not throw 2014-10-14 10:14:40 +02: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 0f83d8132f fixed some transaction threading errors 2014-10-06 18:39:01 +02:00
Willi Goesgens 4509a0f2b0 call findVarUsage before serialising the json, and not after deserializing it. 2014-10-06 11:53:23 +02: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 eae877b1be return variables on explain 2014-10-02 17:34:59 +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 ec1e6552ca clone plan for DBServers 2014-09-29 15:57:53 +02:00
Jan Steemann 50571f84db changed node detection for cluster 2014-09-18 13:21:58 +02:00
Max Neunhoeffer f36187b052 Do some changes suggested by people in the C++ UG DUS. 2014-09-18 11:07:44 +02:00
Jan Steemann 5c552d4137 optimizer rule for scatter / gather 2014-09-17 17:29:36 +02:00
Jan Steemann b9f140e044 removed unused code 2014-09-17 11:31:05 +02:00
Jan Steemann 54b5e7b034 slightly improved access to dynamic bounds 2014-09-16 15:10:43 +02:00
Willi Goesgens 6609512297 Improve error handling: first test for whether we're a list, then access its members so we can throw our error message instead of a generic error occuring. 2014-09-15 15:05:14 +02:00
Jan Steemann 6805bfb540 fix compile error 2014-09-15 13:36:38 +02:00
Jan Steemann 5a1dc63946 fixed tons of compile errors in VS 2014-09-15 12:04:49 +02:00
Jan Steemann f57312baf0 pass AST to expression 2014-09-12 15:40:17 +02:00
Max Neunhoeffer de728e2893 Finish reorganisation of Ast and ExecutionPlan usage. 2014-09-12 15:01:29 +02:00
Max Neunhoeffer 35ffe6b9e4 Restructure who has Ast and ExecutionPlan.
Not compiling yet.
2014-09-12 14:44:20 +02:00
Max Neunhoeffer 46cb7304bf Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 11:22:28 +02:00
Willi Goesgens 6a7bfff7d0 Silence debug output. 2014-09-12 10:40:24 +02:00
Max Neunhoeffer 21f4d9be9d Teach ExecutionPlans to remember the Ast. 2014-09-12 09:44:17 +02:00
Willi Goesgens f25f12c098 Move parsing of calculations out of the whole json parser, so we can properly instanciate the transaction first. 2014-09-11 18:00:00 +02:00
Jan Steemann 2a49bf843d updated tests 2014-09-09 15:20:42 +02:00
Jan Steemann b8e12063e2 added "rules" output 2014-08-29 15:27:02 +02:00
Jan Steemann e47c2b99d3 use stable sort 2014-08-29 12:22:27 +02:00
Max Neunhoeffer c9193e44b8 Sort out some exception issues. 2014-08-29 11:37:01 +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
Max Neunhoeffer b2d44cd35e Add show() for ExecutionPlans. 2014-08-27 22:10:38 +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
Willi Goesgens 91d420ea07 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-25 13:33:59 +02:00
James c801fc4992 deserialising of IndexRangeNode finally working. 2014-08-25 13:05:22 +02:00
Willi Goesgens 5bcc8d784f Add the nodeID we tried to lookup without success in the exception message. 2014-08-25 11:43:48 +02:00
Jan Steemann 683fbf4ec4 using emplace 2014-08-23 00:48:39 +02:00
Jan Steemann 7330597f15 fixed ambigious method JsonHelper::getStringValue 2014-08-22 21:53:29 +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
Willi Goesgens 8a402683ed Optimizers: start implementing the sorting via indexes. 2014-08-22 16:48:52 +02:00
Max Neunhoeffer 821ce84b4b Disable debugging output. 2014-08-22 09:28:41 +02:00
Max Neunhoeffer 70ba155083 Teach unlinkNode to deal with nodes with multiple parents. 2014-08-22 09:24:38 +02:00
Max Neunhoeffer 90aed7a640 Fix a bug with a wrong assertion. 2014-08-21 17:01:25 +02:00
Max Neunhoeffer 8919c138c7 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-21 16:55:05 +02:00
Max Neunhoeffer 9a7dd748f4 Fix linkage bug. 2014-08-21 16:54:52 +02:00
Jan Steemann a1fcf9b28e activate rule to move calculations up 2014-08-21 16:38:49 +02:00
Max Neunhoeffer 5b0874a78a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-21 15:49:11 +02:00
James 053ab548ba Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-21 15:48:58 +02:00
Max Neunhoeffer e515d7845c Fix first bug with parents. 2014-08-21 15:48:49 +02:00
Jan Steemann 51c89c6829 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionPlan.cpp
	arangod/Aql/ExecutionPlan.h
2014-08-21 15:24:11 +02:00