1
0
Fork 0
Commit Graph

275 Commits

Author SHA1 Message Date
jsteemann ecd7de16cb added optimizer rule "inline-subqueries" 2016-04-15 17:21:22 +02:00
jsteemann 4a7c9f0f68 simplified bloated comments 2016-04-09 11:27:30 +02:00
Jan Steemann b672ce0985 test fixes 2016-03-21 12:15:40 +01:00
jsteemann d5f754a430 fixed leaks 2016-03-18 14:30:55 +01:00
jsteemann 3e75388165 fixed leak 2016-03-18 11:34:46 +01:00
jsteemann 1ee1ff23ec bugfixes 2016-03-17 18:36:40 +01:00
jsteemann dc3581563c bugfixes 2016-03-17 14:46:49 +01:00
jsteemann 0720ccdecb harmonized 2016-03-16 18:49:42 +01:00
Michael Hackstein e0ddf68c4f Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk 2016-03-15 10:05:04 +01:00
jsteemann b04ec219d9 changed functions signature 2016-03-15 00:01:54 +01:00
Michael Hackstein a4edc8dd49 Merge from spdvpk 2016-03-14 23:46:57 +01:00
Jan Steemann 44070b149e fixes for AQL 2016-03-11 14:54:14 +01:00
Jan Steemann c814332503 fixed materialization of _id values 2016-03-11 14:15:59 +01:00
Jan Steemann da691ed39c fixed memory issues 2016-03-11 12:44:38 +01:00
Jan Steemann beb132b466 AqlValue refactoring 2016-03-10 18:24:12 +01:00
Jan Steemann b55b5d7386 AqlValue refactoring 2016-03-09 17:50:20 +01:00
Jan Steemann c21d7fc2f4 less json 2016-03-09 10:32:08 +01:00
Jan Steemann e946729306 aqlvalue$ 2016-03-08 18:52:34 +01:00
Jan Steemann 0496f99b21 expression now using VelocyPack 2016-03-08 13:03:03 +01:00
Michael Hackstein 729847f1e7 Removed the old Json based AQL FunctionParameters. Also removed all Json-based wrappers around the new VelocyPack based AQL functions. 2016-03-06 11:49:53 +01:00
Jan Steemann 06da362f93 some json removal 2016-03-02 17:51:05 +01:00
Michael Hackstein 4e5f24a869 Removed unnacessary imports of shape 2016-03-02 10:45:00 +01:00
jsteemann 13335d4cf9 bugfixes 2016-02-03 01:06:27 +01:00
jsteemann b962c5a9e8 array comparison operators 2016-02-03 00:28:03 +01:00
Jan Steemann fc909486c2 parser adjustments for array operators, not yet working 2016-02-02 18:05:39 +01:00
jsteemann 2d7323a560 fixed warnings shown by clang-3.7 2016-01-31 02:17:36 +01:00
jsteemann 353c9732b7 removed last LOG_xxx macros 2016-01-30 04:03:18 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 842384016d namespace cleanup 2016-01-21 00:20:22 +01:00
jsteemann ef67a496e6 more checks & asserts, C API cleanup 2016-01-20 22:08:11 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +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
Jan Steemann 5aebcbd91d Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-22 18:05:35 +01:00
Jan Steemann 6e3878ec94 changed behavior of [*] operator, added COLLECTION_COUNT internal function 2015-12-22 18:03:59 +01:00
Max Neunhoeffer 225c8cd843 Work on TODOs. 2015-12-22 16:50: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 5ae891ac20 fix for issue #1603 2015-12-11 16:24:33 +01:00
hkernbach 6d25ac57e9 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-12-01 11:25:58 +01:00
jsteemann 37f72fa721 micro optimizations 2015-11-30 19:37:58 +01:00
Michael Hackstein 7bf37620bb Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-11-26 16:32:26 +01:00
Jan Steemann 389c3e0cf0 small optimizations 2015-11-26 16:31:25 +01:00
Jan Steemann 9b1ef915eb issue #1589 2015-11-25 10:49:31 +01:00
Michael Hackstein b18ce56a68 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-11-20 10:49:00 +01:00
jsteemann f900090584 fixed undefined behavior 2015-11-19 00:16:00 +01:00
Michael Hackstein 508b63803c Improved error message AQL execute 2015-11-18 09:40:54 +01:00
Jan Steemann 3f078553f9 fixed leaks 2015-11-04 13:18:48 +01:00
Michael Hackstein b71fa3e140 Added CXX implementation of Modulo. 2015-11-03 10:21:31 +01:00
Michael Hackstein 4627cdabb3 Added warnings for division by zero in CXX implementation. 2015-11-03 10:21:30 +01:00
Michael Hackstein 0339cb5e0c Added a CXX implementation of BINARY_OPERATOR_DIV. Deactivated CXX implementation of BINARY_OPERATOR_MOD have to check for data types 2015-11-03 10:19:31 +01:00
Michael Hackstein f23259b2bb Added CXX implementation of BINARY_OPERATOR_DIV 2015-11-03 10:19:30 +01:00
Michael Hackstein ceec76f13b Added CXX implementation for BINARY_OPERATOR_TIMES 2015-11-03 10:19:29 +01:00
Michael Hackstein 344f70fee2 Added CXX implementation for BINARY_MINUS 2015-11-03 10:19:29 +01:00
Michael Hackstein 11606c1f55 Added a CXX implementation of BINARY_PLUS. 2015-11-03 10:19:26 +01:00
Michael Hackstein 4a0bd0f72c Refactored executeSimpleExpression. It now is a simple switch case with different private function calls. Instead of a 500 lines long function. 2015-10-30 15:53:49 +01:00
Michael Hackstein 2a32f71fe1 Started refactoring executeSimpleExpression. 2015-10-30 14:55:38 +01:00
Jan Steemann a2731a6121 blind commit 2015-10-02 17:02:02 +02:00
Michael Hackstein 6a11ad28ee Adapted all indices to the new planned interface so they tell us if they can serve for a condition and present their costs 2015-09-25 10:40:04 +02:00
Jan Steemann 97d67e4399 use binary-safe string representations 2015-08-20 01:46:20 +02:00
Jan Steemann 5dab23a3b7 CXX implementation of AQL `LIKE` 2015-08-04 10:30:18 +02:00
Jan Steemann 14fe919b5b constify 2015-07-30 00:07:50 +02:00
Jan Steemann 2d8777bc6c make the optimizer create less plans 2015-07-30 00:07:32 +02:00
Jan Steemann 6d7ccd7699 move shaper to cxx 2015-07-28 17:38:31 +02:00
Jan Steemann cdfdec9244 save some overhead when walking plans 2015-07-28 11:44:34 +02:00
Jan Steemann aad327714c handle AstNodes of type collection 2015-07-22 11:59:45 +02:00
Jan Steemann 5916677a0b fixed leak 2015-06-23 22:45:57 +02:00
Jan Steemann 7313b19431 implemented FILTER, LIMIT and multi-star features 2015-06-20 14:21:58 +02:00
Jan Steemann 64089eea75 partial implementation 2015-06-20 11:21:57 +02:00
Jan Steemann aff1f6a6a0 fixed leaks 2015-06-18 19:30:29 +02:00
Jan Steemann 86f1a02e18 Merge branch 'aql-argv-optimization' of https://github.com/arangodb/arangodb into devel 2015-06-18 17:12:47 +02:00
Jan Steemann dec79dd051 pass function arguments by reference 2015-06-16 18:01:45 +02:00
Jan Steemann d6f3436cc9 added tests 2015-06-16 15:13:53 +02:00
Jan Steemann 3e99e76b4f fixed range access 2015-06-13 02:27:17 +02:00
Jan Steemann c5d099a1c5 fixed array range accesses 2015-06-12 23:45:08 +02:00
Jan Steemann 1174cfd05c added tests 2015-06-12 18:29:54 +02:00
Jan Steemann e7ff3f2a19 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification 2015-06-12 12:04:41 +02:00
Jan Steemann 1a18fb0282 factor out huge array/object literals when calling V8-based AQL functions 2015-06-12 11:50:22 +02:00
Jan Steemann 3985498fc3 added [x..y] array access, added [**] operator 2015-06-11 00:09:41 +02:00
Jan Steemann 3bb5eb1a9d small optimizations 2015-06-02 23:20:00 +02:00
Jan Steemann 8b8918f72c added (still disabled) rule fuse-calculations 2015-06-02 21:32:38 +02:00
Jan Steemann 16746ae026 small optimizations for expression 2015-06-02 09:18:13 +02:00
Jan Steemann e6684f9d2f small optimizations for expressions 2015-06-02 09:17:50 +02:00
Jan Steemann 9c73028541 less copying 2015-05-12 13:36:08 +02:00
Jan Steemann 95b8a0c76d use AttributeAccessor for more cases 2015-05-08 15:56:07 +02:00
Jan Steemann 4a8146ed02 fixed some potential leaks 2015-05-05 00:33:12 +02:00
Jan Steemann ad5350a9c0 better encapsulation of AqlItemBlock's values 2015-04-23 13:45:49 +02:00
Jan Steemann 224b33cc75 moved UNSET() and KEEP() to cxx implementation 2015-04-22 13:21:05 +02:00
Jan Steemann 3bb3e15d8e fixed getAttributeAccess() 2015-04-20 14:30:06 +02:00
Jan Steemann d20c104d0c specialized attribute accessor for AQL 2015-04-20 13:26:04 +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 50b531666c optimization for AQL CONCAT()
Conflicts:
	arangod/Aql/AqlValue.cpp
	arangod/Aql/AqlValue.h
	arangod/Aql/Ast.cpp
2015-03-27 17:18:27 +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 cef1e7bffe a bit less copying 2015-02-04 00:23:17 +01:00
Frank Celler 94884d3f5a silenced warning 2015-01-29 15:19:28 +01:00
Jan Steemann 7af624e2f0 selectivty, try 0 2015-01-27 09:34:04 +01:00
Jan Steemann c49986d0e8 preparation for conditions 2015-01-25 10:40:13 +01:00
Jan Steemann fd3e123253 optimizations for AST node flagging and V8 object creation 2015-01-22 19:35:20 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Jan Steemann 6185943bc5 prevent double-free of variable bounds 2014-12-03 17:45:46 +01:00
Jan Steemann 065a5ecef0 issue #1100: HAS() fails on doc[attribute_name] 2014-11-17 11:38:57 +01:00
Jan Steemann 0d01e6c7b6 less verbose error messages 2014-11-07 11:16:25 +01:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01:00
Jan Steemann 83252851e6 report warnings in queries 2014-10-30 17:33:15 +01:00
Jan Steemann 0903c1b9b6 use more precomputed values in expressions 2014-10-29 21:41:00 +01:00
Jan Steemann 464c0751d9 removed TODOs 2014-10-29 13:19:13 +01:00
Jan Steemann ecc6089cc8 removed TODO 2014-10-29 13:06:54 +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 2e9100619a a bit less copying 2014-10-28 18:10:23 +01:00
Jan Steemann b5c222b9b8 determine whether calculations may run on a DB server 2014-10-27 12:04:06 +01:00
Jan Steemann 0f2cd7211b fixed v8 crash 2014-10-24 23:30:07 +02:00
Jan Steemann 50e8fed964 more handlescopes 2014-10-24 17:29:22 +02:00
Jan Steemann 6dfe652d56 cleanup v8 expressions in coordinator, too 2014-10-23 22:22:15 +02:00
Jan Steemann 8583dc08ca fix V8 segfault 2014-10-23 14:03:50 +02:00
Jan Steemann ee614d6ebd v8 context handling 2014-10-17 15:25:06 +02: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
Jan Steemann 64fd7ea4b3 conversions 2014-10-16 10:20:04 +02:00
Jan Steemann 6895ba9e27 fixed tests 2014-10-14 13:20:10 +02:00
Willi Goesgens c01e31c404 when de-serializing nodes don't create new variables, but look up the ones we already have. 2014-10-06 11:55:11 +02:00
Jan Steemann f3186fa065 cppcheck 2014-09-29 17:02:40 +02:00
Jan Steemann ae5f454bfc added unary operator 2014-09-19 17:46:36 +02:00
Jan Steemann 92e46b8191 use SimpleExpression for more types of expressions 2014-09-19 17:40:47 +02:00
Jan Steemann 9a6dfa1db2 execute several types of expressions in C++ 2014-09-19 15:21:01 +02:00
Jan Steemann 1d87957b40 reserve enough memory for simple lists & arrays 2014-09-19 12:44:46 +02:00
Willi Goesgens 0d376ab37a Errormessages: show which execution state we're in so the user can better tell appart runtime from syntax errors. 2014-09-16 11:05:43 +02:00
Max Neunhoeffer 23dc7ef617 Fix the AqlValue Range type leak. 2014-09-16 10:25:25 +02:00
Jan Steemann 6fad76928d Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-15 18:17:53 +02:00
Jan Steemann 60f2136b8d fixed reporting error position in queries with newlines 2014-09-15 18:17:20 +02:00
Willi Goesgens 7e44fa03d0 Try to add a human readable representation to an expression if it throws. 2014-09-15 16:44:55 +02:00
Jan Steemann 34d2913002 added NOT IN operator, added keywords NOT, AND, OR 2014-09-14 01:34:58 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Jan Steemann 76c1da4e9c added test for remove-redundant-calculations 2014-09-12 16:58:01 +02:00
Jan Steemann f57312baf0 pass AST to expression 2014-09-12 15:40:17 +02:00
Jan Steemann 6552490cbe Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.cpp
	arangod/Aql/ExecutionNode.h
	arangod/Aql/ExecutionPlan.cpp
	arangod/Aql/OptimizerRules.cpp
2014-09-12 15:17:50 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Willi Goesgens 4df0c84f43 only add the Json-Expression to the Exception if we're compiled in maintainer mode. 2014-09-12 14:36:01 +02:00
Willi Goesgens 36b7ed81a0 Enrich expressions with more information, by catching them, enhancing and re-throwing them. 2014-09-12 13:57:48 +02:00
Jan Steemann 71600f89b7 use RANGE AqlValue type 2014-09-11 11:56:40 +02:00
Max Neunhoeffer b88bceda00 Fix memleaks. 2014-09-05 18:20:48 +02:00
Max Neunhoeffer 6f22f5529a Fix memory leak, AqlValues must be destroyed explicitly. 2014-09-02 15:19:21 +02:00
Jan Steemann a3d2d0e3f1 renamed file 2014-08-29 17:09:07 +02:00
Jan Steemann 694d64da3c do not optimize away non-deterministic functions 2014-08-28 15:34:06 +02:00
Jan Steemann 2eb38c9657 remove-redundant-sorts, initial 2014-08-28 12:39:28 +02:00
Jan Steemann b9024aeaeb basic C++ implementations for dedicated AQL functions 2014-08-28 01:24:42 +02:00
Jan Steemann 6d0dfcdeba changed ctor 2014-08-28 00:27:24 +02:00