1
0
Fork 0
Commit Graph

148 Commits

Author SHA1 Message Date
Michael Hackstein 4cf47bf9c4 Merge branch 'devel' of github.com:arangodb/arangodb into spdvpk 2016-04-18 12:42:00 +02:00
Michael Hackstein 6f7723bc58 Entirely removed TRI_json_t from AQL/Ast. All replaced by VPack 2016-04-16 23:44:03 +02:00
Michael Hackstein 122c891fa8 Removed Ast::nodeFromJson which was obsolete and is not used anymore 2016-04-16 23:40:43 +02:00
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
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
Jan Steemann 06da362f93 some json removal 2016-03-02 17:51:05 +01:00
Jan Steemann bc6283fc91 added WITH collections declarative 2016-02-19 18:20:46 +01:00
jsteemann bee34da616 make replace-or-with-in rule fire in more cases 2016-02-10 23:07:24 +01:00
jsteemann b962c5a9e8 array comparison operators 2016-02-03 00:28:03 +01:00
Michael Hackstein 0a421a1cc0 Finished implementation for multi-direction traversals. 2016-01-28 15:43:19 +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
jsteemann 9a2d9924b9 some bugfixes for aggregators 2016-01-11 23:53:03 +01:00
Jan Steemann 687d6133f0 comments reformatting 2016-01-11 09:52:39 +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
Max Neunhoeffer 44334d90eb Remove a TODO. 2015-12-23 15:07:35 +01:00
Jan Steemann ee6792dd6b fixes for traversal and multi-modify 2015-12-08 14:50:05 +01:00
Wilfried Goesgens dae95de667 Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH 2015-10-21 14:54:01 +02:00
Jan Steemann e2d97e623f merge multiple ORs 2015-10-19 17:28:43 +02:00
Jan Steemann b6c8d77d98 some bugfixes 2015-10-06 11:23:55 +02:00
Jan Steemann e46ba60715 changed signatures of attribute-access-detecting functions 2015-10-05 16:01:19 +02:00
Michael Hackstein 4c065f470c Registered Index Node in several places where it was not yet handled. 2015-10-02 17:02:39 +02:00
Jan Steemann 3a92fa8e16 merge IN with IN 2015-10-02 15:22:21 +02:00
Jan Steemann 7292384b37 deduplicate IN arrays 2015-10-02 14:05:27 +02:00
Jan Steemann bc4e27bdc9 added getOne() 2015-10-01 13:25:03 +02:00
Jan Steemann 89b6329985 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-09-28 18:13:29 +02:00
Jan Steemann 3c4c64cf14 allow multiple collection nodes 2015-09-18 17:27:10 +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
Jan Steemann 2f10135e60 transplanted changes from aql-conditions 2015-09-16 17:36:17 +02:00
Jan Steemann 8ee12f7a27 binary-safe back-references 2015-08-20 21:01:43 +02:00
Jan Steemann 97d67e4399 use binary-safe string representations 2015-08-20 01:46:20 +02:00
Jan Steemann 2d8777bc6c make the optimizer create less plans 2015-07-30 00:07:32 +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 d6f3436cc9 added tests 2015-06-16 15:13:53 +02:00
Jan Steemann 3985498fc3 added [x..y] array access, added [**] operator 2015-06-11 00:09:41 +02:00
Jan Steemann d99d164c0a simplified parser 2015-06-10 20:25:25 +02:00
Jan Steemann fda6aec8d5 push_back => emplace_back 2015-06-02 22:48:55 +02:00
Jan Steemann 8b8918f72c added (still disabled) rule fuse-calculations 2015-06-02 21:32:38 +02:00
Jan Steemann 64ae7adb93 issue #1341: Can't use bindvars in UPSERT 2015-05-28 14:28:23 +02:00
Jan Steemann c88b731acf save some mallocs for strings in AQL 2015-05-18 23:40:28 +02:00
Jan Steemann 9c73028541 less copying 2015-05-12 13:36:08 +02:00
Jan Steemann 974b656c1b allow overriding COLLECT method 2015-04-21 14:45:22 +02:00
Jan Steemann 66e2273482 added documentation for UPSERT 2015-03-24 00:44:52 +01:00
Jan Steemann 7d5cc17d98 added tests 2015-03-23 22:28:26 +01:00
Jan Steemann e3bf1c709c upsert blocks 2015-03-23 15:31:07 +01:00
Jan Steemann 6b24da1036 in the middle of refactoring 2015-03-17 09:08:25 +01:00
Jan Steemann 491e755cd8 turn indexed accesses (e.g. a['foo']) into attribute accesses (e.g. a.foo) during AST optimization
this qualifies the indexed accesses to be used with an IndexRangeNode later
2015-02-07 16:55: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 5d9c0e018e dynamic attribute names in AQL 2015-02-03 22:51:40 +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 bdb50d873e fixed method comments 2015-01-22 19:35:20 +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
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 7e161b88ce issue #1131: added KEEP for `COLLECT...INTO` 2014-12-03 17:44:10 +01:00
Jan Steemann c69fa0b0dc fixed invalid optimization, added test cases 2014-11-25 23:18:24 +01:00
Jan Steemann cb1444804e added NODE_TYPE_ATTRIBUTE_ACCESS for CompareAstNodes 2014-11-13 15:55:34 +01:00
Jan Steemann 97b5e906da Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-08 23:26:38 +01:00
Jan Steemann 567860cf65 more aggresively optimizer filters 2014-11-08 23:26:04 +01:00
Jan Steemann 9c5d150866 use Ast::ReverseOperator 2014-11-08 22:31:31 +01:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01: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 8e678c50da mini optimization: share frequently occuring values 2014-11-06 20:14:02 +01:00
Jan Steemann 1f423a5e0d removed optimization for range node 2014-10-14 13:22:04 +02:00
Jan Steemann 7be268c07c changed AQL optimizer to not throw 2014-10-14 10:14:40 +02:00
Willi Goesgens 60dd21802b Clone the query, move the memory kept in the AST over to the query so all memory is kept in one location. 2014-09-30 10:18:13 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Jan Steemann 2394cdf640 optimize away logical negation if possible
the AST is checked for logical negations of comparison operations
if appropriate, the negation is converted into the reverse comparsion operation, e.g.

    NOT (a == b) => (a != b)
    NOT (a != b) => (a == b)
    NOT (a > b)  => (a <= b)
    NOT (a >= b) => (a < b)
    NOT (a < b)  => (a >= b)
    NOT (a <= b) => (a > b)
2014-09-12 18:01:06 +02:00
Jan Steemann 76c1da4e9c added test for remove-redundant-calculations 2014-09-12 16:58:01 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Max Neunhoeffer 31e02e42cb Instanciate expressions for variable bounds.
And various cleanups.
2014-09-11 14:28:38 +02:00
Jan Steemann 0e8b61124e less verbose AST dumps in AQL_PARSE 2014-08-21 13:08:21 +02:00
Jan Steemann 3fe8831a03 fixed optimizer bug due to duplicate variable representation 2014-08-20 14:18:33 +02:00
Jan Steemann 16f32254a8 remove unused AST optimization code 2014-08-20 12:42:59 +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 9348f12f78 implemented insert node 2014-08-15 18:12:33 +02:00
Jan Steemann 9306105447 REMOVE 2014-08-15 12:44:35 +02:00
Jan Steemann 773c29cecf further work on RemoveNode 2014-08-15 12:20:17 +02:00
Jan Steemann e8f69490ff optimize away function calls with const arguments 2014-08-06 17:15:36 +02:00
Jan Steemann 182ab57e8d transaction 2014-08-04 11:15:53 +02:00
Jan Steemann 0d7ca46b45 added variables() method 2014-08-01 14:37:29 +02:00
Jan Steemann d240314cfe code generation for V8 expressions 2014-07-31 17:13:38 +02:00
Jan Steemann 3d899f27e8 variable generator 2014-07-31 11:43:01 +02:00
Jan Steemann 2aad264e77 refactoring 2014-07-31 10:38:49 +02:00
Jan Steemann e203691f0c started plan generator 2014-07-30 18:04:05 +02:00
Jan Steemann dc70c6f4d2 renamed class 2014-07-30 13:26:48 +02:00