Max Neunhoeffer
1990441d9c
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-03-22 13:33:23 +01:00
Max Neunhoeffer
07d193f74d
Implement indexesForCollection for coordinator case.
2016-03-22 13:32:53 +01:00
Jan Steemann
738851e6a9
collection id lookup for cluster
2016-03-22 12:59:12 +01:00
Jan Steemann
6552b42f59
centralized _id extraction
2016-03-22 12:57:01 +01:00
Jan Steemann
811732230c
fixed test
2016-03-21 13:46:58 +01:00
Michael Hackstein
a2ecc653f0
Removed unused debug output
2016-03-18 15:53:09 +01:00
Michael Hackstein
8b0b8a3667
Fixed invalid nullptr for any() query
2016-03-18 13:55:11 +01:00
Michael Hackstein
c7b63f0ffa
Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk
2016-03-18 08:48:39 +01:00
Max Neunhoeffer
d1c5c64d6b
Fix baby methods for documents in arangosh.
2016-03-18 02:05:19 +01:00
Max Neunhoeffer
37bac8881d
Implement babies variant of DELETE /_api/document/<collection>.
2016-03-17 20:28:40 +01:00
Michael Hackstein
401f55ae37
Replaced OperationCursor by shared_ptrs every where and removed the slice function from it. Instead it returns a shared ptr on a OperationResult on getMore
2016-03-17 18:49:20 +01:00
Michael Hackstein
93efb73ca7
Added a convenience function to add a collection by name at Runtime to transaction
2016-03-16 11:09:42 +01:00
jsteemann
4f8265bfc8
temporary builder leaser
2016-03-15 14:08:03 +01:00
Michael Hackstein
7e0c8c935d
Reimplemented optimizer rule to remove unnecessary SORT if covered by index
2016-03-15 11:12:10 +01:00
Michael Hackstein
e0ddf68c4f
Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk
2016-03-15 10:05:04 +01:00
Michael Hackstein
a4edc8dd49
Merge from spdvpk
2016-03-14 23:46:57 +01:00
jsteemann
33df831f41
small optimizations for v8<->vpack
2016-03-14 22:22:35 +01:00
Michael Hackstein
78f0b95289
AQL indexNode now uses the new transaction API. It does not know any index internals itself any more. Optimizer Rule to remove SORT node needs to be reimplemented yet
2016-03-14 21:28:58 +01:00
Max Neunhoeffer
f8f27c6cbf
Polish mechanism for recovery via Transaction API.
2016-03-14 18:05:17 +01:00
Max Neunhoeffer
f1e0e66c20
Reorganise insert.
2016-03-14 12:13:05 +01:00
Max Neunhoeffer
50514610fc
Change id and key validation to use length.
2016-03-14 10:23:08 +01:00
Max Neunhoeffer
8f6cd501aa
Change behaviour of remove(), return data, allow returnOld.
2016-03-11 16:35:55 +01:00
Max Neunhoeffer
1c94f8d1be
returnNew and returnOld, progress.
2016-03-11 15:12:58 +01:00
Max Neunhoeffer
0dad5a6c7e
Finish implementation of returnNew and returnOld.
2016-03-11 13:10:14 +01:00
Max Neunhoeffer
e77159b008
New returnNew option for insert.
2016-03-11 12:44:36 +01:00
Max Neunhoeffer
447c95af83
Change revision management in Transaction.cpp.
2016-03-11 09:53:20 +01:00
Max Neunhoeffer
0daedb4cbe
Prepare returnOld and returnNew.
2016-03-10 16:49:03 +01:00
Max Neunhoeffer
0647661f5a
Fix a bug in update for babies.
2016-03-10 15:30:52 +01:00
Max Neunhoeffer
3def27ee6e
Do not check for existence of vertex collection at edge insertion.
2016-03-10 11:24:59 +01:00
Max Neunhoeffer
995eecc832
Last traces of update_policy gone.
2016-03-10 00:17:33 +01:00
Max Neunhoeffer
31112b9257
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-03-09 23:59:34 +01:00
Max Neunhoeffer
80ee083105
Fix RestDocumentHandler: modify and remove.
2016-03-09 23:59:02 +01:00
Jan Steemann
7e01c3208a
Merge branch 'spdvpk' of https://github.com/arangodb/arangodb into spdvpk
2016-03-09 17:56:57 +01:00
Jan Steemann
b55b5d7386
AqlValue refactoring
2016-03-09 17:50:20 +01:00
Max Neunhoeffer
bffd86b035
Temporarily disable external VPack usage again.
2016-03-09 15:20:21 +01:00
Max Neunhoeffer
5b807d6753
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-03-09 13:28:43 +01:00
Max Neunhoeffer
6b2fa8c33d
RestDocumentHandler GET method, plus tests.
2016-03-09 13:28:13 +01:00
Michael Hackstein
507b062fe1
trx->document now returns an EXTERNAL VPACK in local case
2016-03-09 12:43:32 +01:00
Michael Hackstein
c3c06a2f5c
Modified EDGES AQL funciton to use new Transaction API instead and does not rely on the shaper any more. Also added a iteratorForSlice method to EdgeIndex. It is slightly more complicated than other indexes iteratorForSlice functions because of the special _from, _to indexing in one index.
2016-03-09 09:59:51 +01:00
jsteemann
d756f6a176
removed TRI_transaction_collection_t from public APIs
2016-03-09 01:51:17 +01:00
Max Neunhoeffer
be9bf2d90f
Babies for document and remove, various cleanup.
2016-03-08 21:30:19 +01:00
Jan Steemann
0c6e8bcd98
fixed replace
2016-03-07 16:49:26 +01:00
Jan Steemann
1c150d4d6e
Merge branch 'spdvpk' of https://github.com/arangodb/arangodb into spdvpk
2016-03-04 18:35:40 +01:00
Jan Steemann
ad4a9542ea
removed file
2016-03-04 18:32:54 +01:00
Jan Steemann
c157363f3c
less dependencies
2016-03-04 17:21:09 +01:00
Max Neunhoeffer
e4ce808349
Finish revolution of document API, RestHandler still missing.
2016-03-04 15:16:23 +01:00
Jan Steemann
5ef3581d16
simplifications
2016-03-04 14:52:43 +01:00
Max Neunhoeffer
2654e654db
Compiles again, document API not yet sorted out.
2016-03-04 10:32:34 +01:00
Max Neunhoeffer
d2d785ec41
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-03-03 09:04:54 +01:00
Jan Steemann
4c03f4bf8d
simplification
2016-03-02 15:50:52 +01:00
Jan Steemann
ba40edac87
less json
2016-03-02 14:58:13 +01:00
Michael Hackstein
5153750abe
Added a function to invoke a callback on all elements in a collection within a transaction.
2016-03-02 12:39:37 +01:00
Max Neunhoeffer
9da16d66a0
Fix bugs in Transaction replace method for babies.
2016-03-02 11:32:49 +01:00
Max Neunhoeffer
1398eea35a
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-03-01 17:50:39 +01:00
Max Neunhoeffer
2cfa417858
First go at babies variant of replace. RestHandler case missing.
2016-03-01 17:50:13 +01:00
Michael Hackstein
65abe721f3
Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk
2016-03-01 16:39:04 +01:00
Jan Steemann
0cb0c0142f
remove _rid from master pointer
2016-03-01 15:06:54 +01:00
Michael Hackstein
6e7f9ef49c
Transaction OperationCursor now implements a skip method.
2016-03-01 14:37:40 +01:00
Jan Steemann
0fcaf41477
cleanup
2016-03-01 14:07:47 +01:00
Jan Steemann
15350cf4b8
renamed and removed
2016-03-01 12:34:03 +01:00
Jan Steemann
102066b4ee
removed methods
2016-03-01 11:50:16 +01:00
Jan Steemann
21e5e68ae5
Merge branch 'spdvpk' of https://github.com/arangodb/arangodb into spdvpk
2016-03-01 11:14:55 +01:00
Jan Steemann
6c152649d4
added allKeys() method
2016-03-01 11:14:40 +01:00
Max Neunhoeffer
ad97830d7f
Add babies to insert document API (V8 & HTTP & Transaction).
2016-03-01 10:14:24 +01:00
Michael Hackstein
16750ea55b
Replaced OperationCursor by forward declaration
2016-02-29 15:26:52 +01:00
Michael Hackstein
4f832aa568
Fixed a bug in EdgeIndex lookup and added checks when inserting documents into an Edge Collection. They now need to have valid _from and _to entries
2016-02-26 15:48:48 +01:00
Jan Steemann
ebf2d1520b
removed TRI_doc_mptr_copy_t
2016-02-26 11:46:33 +01:00
Jan Steemann
0b815931a7
fixed crud operations
2016-02-25 11:49:11 +01:00
Jan Steemann
cd6a9d4988
cleanup
2016-02-24 20:12:46 +01:00
Michael Hackstein
a5442d19f3
Fixed a bug in expandInSearch values. And removed temporary test hack.
2016-02-24 14:46:21 +01:00
Michael Hackstein
9727a1f3a8
Started to add an implementation tu multiply queries with IN. THis is identical for all indexes and does not check validity. The general idea is that an index does not need to know anything about AND, OR, IN. It just has to know primitive types like EQ, LE, LT, GE, GT.
2016-02-24 13:29:26 +01:00
jsteemann
886dca61b0
removed log messages
2016-02-23 22:01:26 +01:00
Jan Steemann
a27f1efd66
changed resolver handling
2016-02-23 20:27:13 +01:00
Jan Steemann
b7ef8e6f1d
removed unused method
2016-02-23 16:01:15 +01:00
Max Neunhoeffer
fac2ebeaa2
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-02-23 14:35:45 +01:00
Max Neunhoeffer
54b645df55
Change API of index scan.
2016-02-23 14:34:41 +01:00
Jan Steemann
70d44f06fa
Merge branch 'devel' of https://github.com/arangodb/arangodb into spdvpk
2016-02-23 13:22:46 +01:00
Michael Hackstein
6edcfd1553
Transaction ALL and ANY now return the custom type handler, so the result is actually usable
2016-02-23 10:33:59 +01:00
Michael Hackstein
4b4661f2b0
Fixed compiler errors
2016-02-23 09:58:39 +01:00
Michael Hackstein
c3dbb0a37a
Added transaction.any new version
2016-02-23 09:42:34 +01:00
Michael Hackstein
deef8c3c42
Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk
2016-02-22 17:18:15 +01:00
Jan Steemann
49181147e4
truncate optimization
2016-02-22 16:52:18 +01:00
Jan Steemann
3e2e14d800
truncate()
2016-02-22 16:30:56 +01:00
Jan Steemann
f07054bf6a
Merge branch 'spdvpk' of https://github.com/arangodb/arangodb into spdvpk
2016-02-22 16:28:42 +01:00
Jan Steemann
7efe1c6091
Merge branch 'spdvpk' of https://github.com/arangodb/arangodb into spdvpk
2016-02-22 16:28:37 +01:00
Michael Hackstein
39d022c4d3
Fixed compile error that only occured in Maintainer mode.
2016-02-22 16:11:21 +01:00
Michael Hackstein
1367368b38
Added a version for ScanIndex with CursorType::Any
2016-02-22 15:42:57 +01:00
Jan Steemann
840062af8d
all()
2016-02-22 14:03:50 +01:00
Michael Hackstein
e9054fdf29
Added a All iterator for the primary index and made it available in the transaction
2016-02-22 13:25:51 +01:00
Jan Steemann
69833fbca2
added getCollectionType() method
2016-02-22 12:26:17 +01:00
Max Neunhoeffer
393ac7e753
Rename getCollectionId -> getCollectionIdLocal.
2016-02-19 23:26:17 +01:00
Michael Hackstein
687bc3c19b
Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk
2016-02-19 18:22:24 +01:00
Michael Hackstein
756c056795
Added basic implementation to scan an index based on a transaction. However no index implements the new iterator yet. Next step.
2016-02-19 18:22:19 +01:00
Max Neunhoeffer
334ddda823
Fix error handling with wrong revisions.
2016-02-19 16:48:28 +01:00
Michael Hackstein
5ff54220ca
Started implementing indexScan on transaction. Does not return anything useful yet
2016-02-19 16:35:17 +01:00
Max Neunhoeffer
20c1a8142f
Add truncate for coordinator.
2016-02-19 16:14:11 +01:00
Max Neunhoeffer
bbb47a5252
Add proper error handling for coordinator CRUD. Add remove.
2016-02-19 16:09:26 +01:00
Max Neunhoeffer
1e38c746dc
Add update on coordinator in Transaction.
2016-02-19 15:12:45 +01:00
Max Neunhoeffer
81ae787388
Index Scan API.
2016-02-19 14:11:33 +01:00
Max Neunhoeffer
bca482661a
Factor out buildDocumentIdentity.
2016-02-19 11:56:44 +01:00
Max Neunhoeffer
a62a23d167
Fix compilation.
2016-02-18 23:09:07 +01:00
Max Neunhoeffer
092d96db08
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-02-18 21:26:29 +01:00
Jan Steemann
367c234d96
implemented count()
2016-02-18 17:54:28 +01:00
Max Neunhoeffer
cb2b159af3
Add documentCoordinator in Transaction.
2016-02-18 16:54:23 +01:00
Jan Steemann
544fc3a31b
fixed compile error
2016-02-18 16:34:41 +01:00
Jan Steemann
5b3b7e673b
Merge branch 'spdvpk' of https://github.com/arangodb/arangodb into spdvpk
2016-02-18 16:17:07 +01:00
Jan Steemann
157bbe3cf7
fixed replace()
2016-02-18 16:16:54 +01:00
Max Neunhoeffer
f08f663ec0
Fix constructor call to OperationResult.
2016-02-18 15:33:02 +01:00
Max Neunhoeffer
27885f75bd
Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk
2016-02-18 14:56:59 +01:00
Max Neunhoeffer
52d051d571
Add insertCluster method to transaction. Change OperationResult.
2016-02-18 14:56:37 +01:00
Jan Steemann
9b80a8a371
return _rev in case of revision mismatch for document(), fixed update()
2016-02-18 14:42:38 +01:00
Michael Hackstein
7ed6754389
Fixed usage of document, to also include customTypeHandler for export to V8
2016-02-18 13:21:06 +01:00
Jan Steemann
ea7a7b4242
handle custom types
2016-02-18 12:55:33 +01:00
Jan Steemann
d6cc325c43
initial implementation of update, still broken
2016-02-17 18:06:35 +01:00
Michael Hackstein
abc3b18189
The collection remove function now uses new transaction remove api
2016-02-17 16:19:19 +01:00
Michael Hackstein
0b9bb35fc3
Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk
2016-02-17 16:11:35 +01:00
Michael Hackstein
2fec9dbef6
Added debug output and stub for replace
2016-02-17 16:11:32 +01:00
Jan Steemann
dda2459f41
added document()
2016-02-17 15:59:44 +01:00
Jan Steemann
bdc675e494
added stubs for document() and update()
2016-02-17 13:53:19 +01:00
Jan Steemann
bce6b4f130
remove
2016-02-17 13:41:18 +01:00
Jan Steemann
39e64150e4
stubs for remove()
2016-02-17 12:14:21 +01:00
Jan Steemann
0511a944ad
implemented local insert method
2016-02-16 18:32:50 +01:00
Jan Steemann
0c4ab9054a
API cleanup
2016-02-16 15:13:30 +01:00
Jan Steemann
313f27deed
renamed methods
2016-02-15 18:18:03 +01:00
Jan Steemann
242481a501
small code refactoring
2016-02-15 17:02:36 +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
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
19b2d28167
pass transaction to index APIs
2015-11-25 14:42:29 +01:00
Jan Steemann
75e4e6e815
added transaction to all signatures
2015-11-24 17:34:23 +01:00
Jan Steemann
afdcc68e51
minor patches
2015-11-03 10:19:25 +01:00
jsteemann
058fec96f6
removed some dependencies
2015-10-23 00:15:07 +02: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
Frank Celler
4dcf5dc817
updated disclaimer
2014-06-20 16:40:35 +02:00
Jan Steemann
eba885d583
fixed member initialization in second constructor
2014-06-10 17:41:11 +02:00
Max Neunhoeffer
12a5ba03fd
Move class TransactionBase to voc-types.h
2014-06-10 16:37:35 +02:00
Max Neunhoeffer
3c0c785ba5
First set of protection assertions.
2014-06-10 13:03:04 +02:00
Max Neunhoeffer
f7e5e28780
Create thread global transaction protection assertions.
2014-06-10 11:31:07 +02:00