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