1
0
Fork 0
Commit Graph

291 Commits

Author SHA1 Message Date
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