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