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
Jan Steemann
687d6133f0
comments reformatting
2016-01-11 09:52:39 +01:00
jsteemann
50c0e18d53
removed useless con|destructor comments
2016-01-07 21:19:53 +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
jsteemann
50947dfae3
apply "sort-in-values" optimization for certain subqueries too
2015-12-23 00:44:47 +01:00
jsteemann
600c48375d
added optimizer rule `sort-in-values`
2015-12-13 23:33:44 +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
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
jsteemann
cb62c657e0
initial commit
2015-11-18 17:46:19 +01:00
Wilfried Goesgens
92ad802bd6
Cache Graphs inside of the Query object
...
- split Graph clas into Aql/Graphs
- cleanup includes
2015-11-11 13:52:33 +01:00
Wilfried Goesgens
327b408a22
Start implementing early filtering of paths to exclude from the result
2015-10-28 12:37:13 +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
197be68f7d
removed IndexRange*
2015-10-13 15:12:32 +02:00
Jan Steemann
deb0a132ae
rewrite of optimizer rule `use-index-for-sort`
2015-10-13 15:00:09 +02:00
Jan Steemann
e71ff5a4f5
cppcheck
2015-09-30 16:50:57 +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
d99f7a498d
moved index nodes to their own files
2015-09-30 15:13:49 +02:00
Jan Steemann
b5cf8ce942
moved cluster nodes out of ExecutionNode.*
2015-09-30 14:51:11 +02:00
Jan Steemann
6405c82a32
removed global reverse-flag for IndexNode. this flag has to be moved into the separate indexes used by the node
2015-09-30 14:14:41 +02:00
Michael Hackstein
e35ea8995e
Fixed used after free of condition node. Cloned the Condition AST whie handing it over. Still get a double free exception. IndexNodeis now handled.
2015-09-29 09:13:08 +02:00
Michael Hackstein
1e9c6f110b
Started implementing the IndexBlock. Right now it expects an iterator for each used index that is created by an evaluated expression from the Block. Then it will go through all iterators in every get/skip some step
2015-09-28 19:30:10 +02:00
Jan Steemann
abc87b2d5f
added IndexNode stub
2015-09-25 13:40:51 +02:00
Michael Hackstein
1941b7f880
Added a new IndexNode does not compile yet
2015-09-25 13:18:43 +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
b4593a7e82
Change spelling of 'initialize' to American English (comments and log messages only)
2015-09-01 17:07:21 +02:00
Max Neunhoeffer
ff135a10ad
Add some overrides to silence a clang compiler warning.
2015-08-19 14:46:06 +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
c6d5f7d775
use move
2015-07-23 10:30:49 +02:00
Jan Steemann
ce31550a9f
fix variable naming in COLLECT INTO results in case the COLLECT is placed in a subquery which itself is followed by other constructs that require variables
2015-06-19 13:00:49 +02:00
Jan Steemann
d2fef98c02
renamed internal function
2015-06-03 18:24:24 +02:00
Jan Steemann
3bb5eb1a9d
small optimizations
2015-06-02 23:20:00 +02:00
Jan Steemann
574d521472
added alternative slice() method for AqlItemBlock
...
this method will copy only the first row from a source block into
a one-row target block. certain registers can be excluded. used to
initialize the registers for a subquery
2015-04-28 22:47:07 +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
d9add3a493
fixed collect in cluster
2015-04-16 21:10:48 +02:00
Jan Steemann
ff6e56d89c
adjusted some tests
2015-04-15 23:45:07 +02:00
Jan Steemann
8926e3f2e2
initial commit
2015-04-15 19:04:21 +02:00
Jan Steemann
013209b9c7
add expressionType to JSON output of CalculationNode
2015-04-03 15:02:17 +02:00
Jan Steemann
2f58e4ea61
small cleanup
2015-03-25 12:42:44 +01:00
Jan Steemann
a3c0612798
added cluster tests
2015-03-24 14:34:09 +01:00
Jan Steemann
66e2273482
added documentation for UPSERT
2015-03-24 00:44:52 +01:00
Jan Steemann
e3bf1c709c
upsert blocks
2015-03-23 15:31:07 +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
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
e84a5e8eb3
use indexes for sorting in more cases
2015-02-05 00:10:12 +01:00
Jan Steemann
c18ff7f300
use-index-for-sort rule can now remove sorts in more cases
2015-02-02 22:53:25 +01:00
Jan Steemann
875a695b22
selectivity estimates
2015-02-02 20:14:36 +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
Jan Steemann
1003e52cf7
some cleanup
2015-01-18 16:41:48 +01:00
Jan Steemann
2d0a37d826
automatically create _keys in DistributeNode on insert
2015-01-12 10:33:05 +01:00
Jan Steemann
f2590881f1
return old or new values in data-modification operations
2015-01-08 16:35:54 +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
6fe1fb8568
Fix modifying AQL in cluster.
2014-12-23 22:44:01 +01:00
Max Neunhoeffer
1cdf439845
Broken version, errors not yet fixed.
2014-12-23 16:51:48 +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
dd60e53ce3
added more collect special cases
2014-12-16 22:52:33 +01:00
Jan Steemann
f4d7a57c19
changed `COLLECT...INTO x COUNT` to `COLLECT...WITH COUNT INTO x`
...
allow executing subqueries without double brackets
jslint
2014-12-12 23:02:24 +01:00
Jan Steemann
8f6193faa2
added optional COUNT clause for AQL COLLECT
2014-12-12 17:18:04 +01:00
Max Neunhoeffer
62f03aa013
Choose skiplistIndex if in doubt.
2014-12-08 16:53:05 +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
dd68db2252
fixed precedence of range operator
2014-12-05 11:00:26 +01:00
Jan Steemann
7e161b88ce
issue #1131 : added KEEP for `COLLECT...INTO`
2014-12-03 17:44:10 +01:00
Jan Steemann
4f39b9e358
optimize away `INTO` of `COLLECT` if unused
2014-12-03 13:49:03 +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
c8c16767be
added rule to remove filters if covered by index ranges - not yet activated
2014-11-06 23:18:18 +01:00
Jan Steemann
7d036da648
fixed limit estimation
2014-11-06 13:44:55 +01:00
Jan Steemann
bf30927913
removed canThrow tag for various built-in functions
2014-11-05 14:40:00 +01:00
Jan Steemann
025d73ae03
re-added support for fullCount
2014-11-01 15:20:05 +01:00
Max Neunhoeffer
bfce170cae
Fix cost estimation of SortNodes.
2014-10-29 15:41:38 +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
529bf386d7
fixed some API errors
2014-10-28 11:30:49 +01:00
Jan Steemann
13d240384f
less namespace pollution
2014-10-28 00:24:37 +01:00
Jan Steemann
b7c93c361a
fixed tests
2014-10-27 16:43:10 +01:00
Jan Steemann
97a4355c4e
fixed tests
2014-10-21 13:45:46 +02:00
Max Neunhoeffer
6eb2073336
Rename VarOverview into RegisterPlan, because that is what it is.
2014-10-20 09:14:01 +02:00
Max Neunhoeffer
db7b23bdb8
Fix cloning of VarOverview.
2014-10-20 09:04:32 +02:00
Jan Steemann
912a8162fb
some renaming
2014-10-16 17:23:50 +02:00
James
9f942d0ce3
finished first version of DistributeBlock/Node.
2014-10-15 10:53:09 +01: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
4ff58364f1
fixed cloning of plans
2014-10-07 12:00:37 +02:00
Jan Steemann
0f83d8132f
fixed some transaction threading errors
2014-10-06 18:39:01 +02:00
Willi Goesgens
7dac9d8cc7
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
2014-10-06 14:16:39 +02:00
Willi Goesgens
48c5ff938e
If we clone an ExecutionNode for the same AST we also have to copy the evaluation members, but we don't need a deep-copy.
2014-10-06 14:15:41 +02:00
James
5af60d121e
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-10-06 12:57:17 +01:00
James
95fd279a52
distribution node/block declarations etc.
2014-10-06 12:57:09 +01:00
Willi Goesgens
8f74eeff97
Assert whether we have a varoverview.
2014-10-06 13:20:31 +02:00
James
5a070a4e0a
remove const-qualified types in VarInfo struct to allow compilation.
2014-10-03 09:27:35 +01: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
573d837561
off-by-one fix
2014-10-02 17:06:12 +02:00
Willi Goesgens
bc627dda7b
Also copy the varoverview to the clone.
2014-10-02 10:40:09 +02:00
Max Neunhoeffer
be07d39457
Rename staticAnalysis -> planRegisters.
2014-10-02 00:11:15 +02:00
Jan Steemann
5b0b1f0af5
indenting
2014-10-01 19:06:29 +02:00
Jan Steemann
0d9cdfc87c
struct Index
2014-10-01 15:35:16 +02:00
Max Neunhoeffer
993a89fea2
Fix compilation again.
2014-09-30 23:30:55 +02:00
Max Neunhoeffer
4b21832bba
Take out unnecessary friend class declarations.
2014-09-30 23:23:46 +02:00
Max Neunhoeffer
8bffb3daa3
Finish transplantation.
2014-09-30 23:20:51 +02:00
Max Neunhoeffer
5676e82872
Make it compile using friend classes.
2014-09-30 20:14:39 +02:00
Max Neunhoeffer
40d7dec7bc
Snapshot.
2014-09-30 16:49:12 +02:00
Max Neunhoeffer
5dbcac8efe
Start transplantation of _varOverview to ExecutionNodes.
2014-09-30 16:44:01 +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
b31987fea7
pass data to RemoteNode
2014-09-29 16:36:52 +02:00
Jan Steemann
ec1e6552ca
clone plan for DBServers
2014-09-29 15:57:53 +02:00
Jan Steemann
3ac25ad56f
fixed some issues with remote queries
2014-09-29 12:14:03 +02:00
Jan Steemann
d177bc110c
comments
2014-09-29 09:06:06 +02:00
Jan Steemann
9e47f3ca27
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
...
Conflicts:
arangod/Aql/ExecutionNode.h
2014-09-26 20:23:52 +02:00
Jan Steemann
c3ce45e0dd
added block instanciation for coordinator, v0.0.0
2014-09-26 20:17:42 +02:00
Willi Goesgens
d003eecac1
We need to pass a reference since we want to return values onto this; and return const references to not duplicate the memory.
2014-09-26 15:22:41 +02:00
Jan Steemann
578d22c95b
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2014-09-26 13:58:16 +02:00
Jan Steemann
f462c5f620
add database and collection info to gather nodes
2014-09-26 13:58:02 +02:00
Willi Goesgens
41fb15d462
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
2014-09-26 13:44:16 +02:00
Willi Goesgens
14eda3e348
- create type for SortElements to be used instead of stacked templates
...
- abstract json parsing of SortElemnts into an own function
- implement deserialisation of Scatter/GatherNode
2014-09-26 13:42:26 +02:00
Max Neunhoeffer
5c7d058043
Add stubs for RemoteBlock.
2014-09-26 13:34:08 +02:00
Max Neunhoeffer
e9bac83e67
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 13:23:33 +02:00
Max Neunhoeffer
c4fd3e7553
First steps towards RemoteBlock.
2014-09-26 13:23:21 +02:00
Willi Goesgens
53ee658be0
Implement moving of sortnode into the clusterable part of the query; add elements to the json serialisation of the gather node
2014-09-26 12:35:58 +02:00
James
b7a1247252
adding variables/sort direction in _elements to GatherNode.
2014-09-23 17:31:27 +01:00
Jan Steemann
5c552d4137
optimizer rule for scatter / gather
2014-09-17 17:29:36 +02:00
Jan Steemann
bd62c36771
scatter / gather 0.0
2014-09-17 16:00:54 +02:00
Jan Steemann
db70b9bfcb
added not-yet used nodes for remote, scatter and gather
2014-09-17 14:31:37 +02:00
Jan Steemann
654c2ba0fe
backwards iteration, not yet working
2014-09-17 00:40:24 +02:00
Willi Goesgens
c71d142b51
We missed to output the modification options vector.
2014-09-16 18:25:41 +02:00
Jan Steemann
54b5e7b034
slightly improved access to dynamic bounds
2014-09-16 15:10:43 +02:00
Max Neunhoeffer
855a695764
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionBlock.cpp
arangod/Aql/RangeInfo.cpp
arangod/Aql/RangeInfo.h
2014-09-15 16:16:21 +02:00
Willi Goesgens
8bad042d08
Remove friend declaration since it seems not to be needed anyways.
2014-09-15 13:42:21 +02:00
Max Neunhoeffer
9bfd5eb8c6
Improve comments for getVarusage and friends.
2014-09-15 13:37:16 +02:00
Jan Steemann
5a1dc63946
fixed tons of compile errors in VS
2014-09-15 12:04:49 +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
Max Neunhoeffer
35ffe6b9e4
Restructure who has Ast and ExecutionPlan.
...
Not compiling yet.
2014-09-12 14:44:20 +02:00
Max Neunhoeffer
247f739bee
Sort out variable usage in variable bound expressions.
...
Not yet compiling, need to sort out access to the Ast object.
2014-09-12 11:21:52 +02:00
Max Neunhoeffer
e120da8a23
Note what needs doing to fix bug with variable lookup.
2014-09-12 00:59:59 +02:00