Michael Hackstein
f32750e1ac
Removed obsolete toJson from AQL Nodes
2016-02-16 10:29:38 +01:00
Jan Steemann
b7abf5a40d
attempt to fix Windows build
2016-02-01 12:04:28 +01:00
jsteemann
ff21453255
logger transition: all files in arangod exception transactions.cpp
2016-01-29 23:28:44 +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
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
Jan Steemann
8e18d6463f
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-12-16 11:44:56 +01:00
Jan Steemann
a694b7ef48
make_unique
2015-12-16 11:36:35 +01:00
Max Neunhoeffer
b337d9bd29
Fix shared_ptr<CONTAINER> direct-use in for bug.
2015-12-16 10:29:23 +01:00
Max Neunhoeffer
7641feeb88
Fix ClusterComm library w.r.t. pointers.
2015-12-14 11:22:30 +01:00
Max Neunhoeffer
af4d729284
The ClusterComm C++11 revolution.
2015-12-11 23:26:10 +01:00
Max Neunhoeffer
60df924ac1
Change data structures for collections in Agency.
...
Snapshot, compiles, untested, needs new VelocyPack.
2015-12-04 15:08:47 +01:00
Michael Hackstein
3ea14e66a3
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-12-03 10:19:17 +01:00
Max Neunhoeffer
3821a775a3
Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel
2015-12-02 14:48:04 +01:00
Max Neunhoeffer
3556f76469
Fix ClusterComm::asyncRequest w.r.t. body shared_ptr.
2015-12-02 14:15:18 +01:00
Jan Steemann
eb8899d9ae
applied changes suggested by cppcheck
2015-12-02 10:17:14 +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
Max Neunhoeffer
f7e0b53fff
Fix AQL query shutdown in cluster.
2015-11-30 14:24:31 +01:00
Michael Hackstein
e9a36a3fbf
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-11-30 14:17:44 +01:00
Jan Steemann
593b5dc8df
fixed non-deterministic query results in some cluster queries
2015-11-30 13:01:57 +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
fbfc7773ef
serialization and deserialization of IndexNodes
2015-10-08 12:02:27 +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
32bdc19522
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
2015-09-30 17:47:00 +02:00
Jan Steemann
0ea2247eb0
scan-build
2015-09-30 17:28:52 +02:00
Jan Steemann
91e8884518
added AggregateNode.*
2015-09-30 15:55:38 +02:00
Jan Steemann
9041b7b2c9
file split
2015-09-30 15:29:32 +02:00
Michael Hackstein
0fab24aca5
Fixed double free of condition and reactivated IndexNode
2015-09-30 08:36:56 +02:00
Michael Hackstein
8f0bd93120
Disabled the IndexBlock again, not yet working
2015-09-29 10:18:46 +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
Jan Steemann
9472eb7b45
make it link again
2015-09-25 16:30:29 +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
3a9648d78a
More Americanization
2015-09-03 22:25:43 +02:00
Jan Steemann
afb342eefd
split big ExecutionBlock file into smaller files
2015-08-27 00:28:20 +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
Max Neunhoeffer
2700abf2c8
Increase a timeout slightly.
2015-06-12 15:42:04 +02:00
Jan Steemann
3bb5eb1a9d
small optimizations
2015-06-02 23:20:00 +02:00
Jan Steemann
343c9b4bea
added static helper methods for cluster state
2015-05-20 13:51:02 +02:00
Jan Steemann
b6142f475c
micro optimizations
2015-05-15 17:40:41 +02:00
Jan Steemann
0099fe260a
return value optimization for AQL
2015-04-30 23:38:27 +02:00
Jan Steemann
bf3a1daaa9
recycle AqlItemBlocks
2015-04-27 12:41:55 +02:00
Jan Steemann
974b656c1b
allow overriding COLLECT method
2015-04-21 14:45:22 +02:00
Jan Steemann
8926e3f2e2
initial commit
2015-04-15 19:04:21 +02: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
Max Neunhoeffer
3bd55fa26f
Set correct root block for newly instanciated ExecutionEngine.
2015-03-17 15:30:30 -07:00
Jan Steemann
13ddb8b34b
fixed some cluster plans
2015-03-17 13:52:09 +01:00
Jan Steemann
6b24da1036
in the middle of refactoring
2015-03-17 09:08:25 +01:00
Jan Steemann
7c5cc16a8a
less locking for cluster status checks
2015-02-18 18:14:12 +01:00
Willi Goesgens
b17abadd42
Put error messages of simple http client into cluster comm results.
2015-02-04 11:25:12 +01:00
Jan Steemann
a327016312
added method for cluster test
2015-01-24 14:07:06 +01:00
Max Neunhoeffer
4634ad366e
Take out some more debugging output.
2014-12-23 14:52:07 +01:00
Max Neunhoeffer
05c069f361
Another fix for the distributed locking problem in cluster AQL.
2014-12-23 14:35:19 +01:00
Max Neunhoeffer
e50a705d9a
Squashed commit of the following: organise locking in distributed AQL
...
Locking is now done in an extra round after the query is fully
instanciated in the cluster. All participating shards are locked
in alphabetical order of their shard ID (local collection name).
For this to work there is a new action in the RestAqlHandler plus a
mechanism to prevent the usual locking from happening: Each thread has a
thread local static class variable of
triagens::arango::Transaction::_makeNolockHeaders
which is of type std::unordered_set<std::string>*.
Whenever this is not equal to nullptr and a local collection name is
stored in there, no locking or unlocking takes place. This information
is forwarded by the X-Arango-Nolock HTTP header, whenever an HTTP
request is sent via ClusterComm to a shard.
2014-12-22 14:40:22 +01:00
Jan Steemann
20e7fe7a7a
the great rename: array => object, list => array
2014-12-18 21:07:06 +01:00
Max Neunhoeffer
5c6d3d047d
Better error handling and cleanup if instanciation runs into error.
...
This concerns AQL in the cluster.
2014-12-01 18:26:03 +01:00
Jan Steemann
a7af7eed31
fix double free issue
2014-11-01 02:20:13 +01:00
Max Neunhoeffer
8f854ec3b2
Fix a leak in cluster instanciation of queries.
2014-10-31 11:50:34 +01:00
Max Neunhoeffer
4503d7a982
Fix a memleak in instanciation.
2014-10-30 14:58:12 +01:00
Max Neunhoeffer
9fcdc1fa94
Start building proper cleanup if instanciation throws in between.
2014-10-29 16:51:59 +01:00
Max Neunhoeffer
534ae76279
Add an explanation of the instanciation procedure.
2014-10-29 13:09:11 +01:00
Max Neunhoeffer
da1c2c0109
Further simplify and cleanup instanciation.
2014-10-29 12:41:03 +01:00
Max Neunhoeffer
42eefbe71d
Cleanup and comment instanciation.
2014-10-29 12:13:43 +01:00
Max Neunhoeffer
7e6e758a76
Remove unnecessary plans for coordinator pieces.
2014-10-29 11:41:24 +01:00
Max Neunhoeffer
cfb26c8b0a
Fix instanciation order, for good???
2014-10-29 10:37:39 +01:00
Max Neunhoeffer
5da86da39d
Another step to fix instanciation of plan in cluster.
2014-10-29 00:27:45 +01:00
Max Neunhoeffer
96c749682e
Fix order of ExecutionBlock instanciation in cluster.
2014-10-28 23:48:48 +01:00
Jan Steemann
246c6fc840
less parameter passing
2014-10-28 16:50:09 +01:00
Jan Steemann
529bf386d7
fixed some API errors
2014-10-28 11:30:49 +01:00
Willi Goesgens
5ed8816788
Remove Explain of cluster snippets
2014-10-27 16:10:13 +01:00
Max Neunhoeffer
48dc3c5081
Remove an unnecessary TODO.
2014-10-27 13:41:46 +01:00
Jan Steemann
3306ff99fc
removed unused variable
2014-10-24 17:29:36 +02:00
Willi Goesgens
91e04e3230
Implement outputting of splitted plans which are to be distributed to the db servers
2014-10-24 17:14:13 +02:00
Jan Steemann
36e0ec5e55
commented out code
2014-10-22 19:05:54 +02:00
Jan Steemann
7f2373204a
fixed cloning of coordinator queries
2014-10-22 17:25:59 +02:00
Jan Steemann
e2ef21c33a
fixed non-working DistributeBlock
2014-10-22 12:07:31 +02:00
Jan Steemann
66bb48f61f
removed spam output
2014-10-21 13:45:52 +02:00
James
6e934585f9
adding distribute node
2014-10-21 11:05:11 +01:00
Max Neunhoeffer
ba41701bf8
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-10-20 17:33:04 +02:00
Max Neunhoeffer
a54c4351bd
Add a reminder for myself.
2014-10-20 17:32:56 +02:00
Jan Steemann
10c9a54932
start transactions on coordinator
2014-10-20 15:39:55 +02:00
Jan Steemann
6356c47f90
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2014-10-20 12:32:15 +02:00
Jan Steemann
c93c952c05
fixed from/to-handling in cluster
2014-10-20 12:32:08 +02:00
Willi Goesgens
56099b96c9
- More precisely describe which request failed in the cluster communication
...
- catch exceptions during shutdown - they shouldn't be output since its usually already known.
2014-10-20 12:06:53 +02:00
Max Neunhoeffer
828926d819
Take out debugging output.
2014-10-20 11:29:52 +02:00
Max Neunhoeffer
44f89adc66
Fix instanciation of queries in which a sharded collection is used >=2 times.
2014-10-20 11:21:00 +02:00
Max Neunhoeffer
9744228bf9
Make correct parts on DBserver MAIN and DEPENDENT.
...
Seems not to work yet because of more fundamental problems.
2014-10-20 10:47:14 +02:00
Max Neunhoeffer
cb75b0b18a
Sort out transactions in cluster, part I.
2014-10-17 15:25:46 +02:00
Max Neunhoeffer
743d7d127a
Snapshot, does not compile, try to sort out transactions in AQL.
2014-10-16 16:41:32 +02:00
Jan Steemann
70c59a61fd
removed macro
2014-10-16 16:28:18 +02:00
Willi Goesgens
93ff2652e1
Walker: add possibility to enter Subqueries on the way in
...
NodeClone: don't clone the subquery reference list, we don't need them.
2014-10-15 14:59:06 +02:00
James
2ec03d57e3
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-10-08 10:26:19 +01:00
James
2ed7fb13b2
DistributeBlock getOrSkipSome done as far as possible.
2014-10-08 10:26:04 +01:00
Jan Steemann
aef384da1a
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2014-10-07 12:36:36 +02:00
James
e17a43f66e
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-10-07 11:19:25 +01:00
Jan Steemann
4ff58364f1
fixed cloning of plans
2014-10-07 12:00:37 +02:00
James
4a8ef130f5
DistributeBlock getOrSkipSome method minus the hard part.
2014-10-07 10:33:37 +01:00
Jan Steemann
a62d83603e
fixed missing register planning
2014-10-06 18:43:50 +02:00
Jan Steemann
0f83d8132f
fixed some transaction threading errors
2014-10-06 18:39:01 +02:00
James
95fd279a52
distribution node/block declarations etc.
2014-10-06 12:57:09 +01:00
Jan Steemann
f44599644c
moved register assignment into constructor
2014-10-02 17:52:45 +02:00
Jan Steemann
573d837561
off-by-one fix
2014-10-02 17:06:12 +02:00
Willi Goesgens
b8491932db
Command the cluster node not to do optimizations.
2014-10-02 14:45:10 +02:00
Willi Goesgens
dc6dba1ef4
Cluster Communication: serialize a global set of the currently available variables.
2014-10-02 13:15:02 +02:00
Willi Goesgens
6f4e5c4fd7
When creating the copy for the clusternodes we also need to copy the properties.
2014-10-02 11:07:31 +02:00
Jan Steemann
7f9da1c397
asserts
2014-10-02 10:34:08 +02:00
Max Neunhoeffer
be07d39457
Rename staticAnalysis -> planRegisters.
2014-10-02 00:11:15 +02:00
Willi Goesgens
4b399236f1
Make the Transaction a smart pointer living inside of Query.
2014-10-01 14:30:53 +02:00
Jan Steemann
49237ef55a
fixed some cluster internal communication
2014-10-01 14:06:00 +02:00
Max Neunhoeffer
8bffb3daa3
Finish transplantation.
2014-09-30 23:20:51 +02:00
Max Neunhoeffer
5dbcac8efe
Start transplantation of _varOverview to ExecutionNodes.
2014-09-30 16:44:01 +02:00
Jan Steemann
f50f041bda
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
...
Conflicts:
arangod/Aql/ExecutionEngine.cpp
arangod/Aql/Query.cpp
2014-09-30 15:50:28 +02:00
Jan Steemann
c4ce98a442
fixed some bugs in distributed plan instanciation
2014-09-30 15:19:44 +02:00
Willi Goesgens
22f2753d62
Properly generate the new plan with the new query
2014-09-30 14:50:31 +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
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
3a2e13b910
pass queryId to remote servers
2014-09-29 17:35:10 +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
643ffa104d
moved isCoordinator to function of its own
2014-09-29 09:38:15 +02:00
Jan Steemann
188fe0c43c
accidently committed local modifications. revert
2014-09-29 09:31:27 +02:00
Jan Steemann
0d075dca3f
pass queryRegistry into the AQL functions
2014-09-29 09:30:32 +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
Jan Steemann
f462c5f620
add database and collection info to gather nodes
2014-09-26 13:58:02 +02:00
Max Neunhoeffer
31e02e42cb
Instanciate expressions for variable bounds.
...
And various cleanups.
2014-09-11 14:28:38 +02:00
Willi Goesgens
dbdae3faa9
Styleguide cleanup: "initialize"
2014-09-09 11:49:44 +02:00
Max Neunhoeffer
af340d6dd6
Make sure varUsage is valid before instanciation.
2014-08-28 15:21:05 +02:00
Jan Steemann
f932e9277c
cloned EnumerateCollectionBlock into IndexRangeBlock
2014-08-22 10:16:32 +02:00
Max Neunhoeffer
8a454de193
Add NoResultsNode to instanciator factory.
2014-08-21 13:43:05 +02:00
Jan Steemann
1442b9ebeb
pass ExecutionEngine to ExecutionBlock, added stats for ExecutionEngine
2014-08-21 12:33:13 +02:00
Jan Steemann
e4abcdc843
added optimizer rule
2014-08-19 13:59:05 +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
dedc2cb035
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-14 16:59:51 +02:00
Jan Steemann
b19d632b4a
RemoveBlock
2014-08-14 16:59:43 +02:00
Max Neunhoeffer
fcdf57ff09
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionEngine.cpp
2014-08-14 15:07:10 +02:00
Max Neunhoeffer
f248792865
Make WalkerWorker a template class.
...
Implement findNodesOfType for ExecutionPlans.
2014-08-14 15:04:59 +02:00
Jan Steemann
93cfa9e2e4
count number of documents in collection
2014-08-14 13:53:21 +02:00
Jan Steemann
1ad300cee5
added more node types
2014-08-14 10:23:53 +02:00
James
69ad2e3209
tweaking ExecutionEngine initialisation.
2014-08-13 16:24:31 +02:00
Jan Steemann
8b830974c7
fixed parser errors
2014-08-08 20:12:10 +02:00
Jan Steemann
d30914afb2
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionBlock.h
arangod/Aql/ExecutionEngine.cpp
2014-08-07 17:25:37 +02:00
Jan Steemann
9734662ee0
begun implementation of AggregateNode, not yet working
2014-08-07 17:02:21 +02:00
Willi Goesgens
ba2e7badd8
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-07 16:57:37 +02:00
Willi Goesgens
69ff2303c9
Implement subquery block
2014-08-07 16:56:35 +02:00
James
cb86cef60e
first version of EnumerateListBlock for json lists.
2014-08-07 16:45:03 +02:00
James
5ac060e687
adding SortBlock, something not working.
2014-08-06 13:36:50 +02:00
Max Neunhoeffer
96d8dcc054
Major cleanup, not yet working.
2014-08-05 12:29:36 +02:00
Jan Steemann
f6384b006d
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/Types.h
2014-08-04 17:31:00 +02:00
Jan Steemann
7fd236aa4f
fixed enumeratecollection block
2014-08-04 17:27:51 +02:00
Max Neunhoeffer
fabfeae14d
Add LimitNode. Implement skip generically.
2014-08-04 16:34:37 +02:00
Max Neunhoeffer
8b640be8ac
Add Filter node.
2014-08-04 15:11:51 +02:00
Max Neunhoeffer
316bffe45e
Move calculation setup to initialize() after staticAnalysis.
2014-08-01 15:12:12 +02:00
Jan Steemann
b6af736c60
smallness
2014-08-01 13:16:07 +02:00
Jan Steemann
69c55d754c
renamed "root" to "return"
2014-08-01 12:23:55 +02:00
Max Neunhoeffer
aa48d48755
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/Query.cpp
2014-08-01 12:05:37 +02:00
Max Neunhoeffer
5315f35ed3
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionBlock.h
2014-08-01 11:57:27 +02:00
Max Neunhoeffer
e7e98262ea
Redo instanciator using Walker and in ExecutionEngine.
2014-08-01 11:56:39 +02:00
Jan Steemann
2881409527
renaming
2014-08-01 11:46:31 +02:00
Max Neunhoeffer
5bf0ff1a7c
Rename files ExecutionPlan -> ExecutionNode
2014-08-01 11:26:09 +02:00
Jan Steemann
7ca38317b2
execution engine
2014-08-01 11:22:35 +02:00
Jan Steemann
d492271b93
added ExecutionEngine
2014-08-01 11:21:08 +02:00