1
0
Fork 0
Commit Graph

336 Commits

Author SHA1 Message Date
Max Neunhoeffer ed29fd9d60 Introduce getCollectionId, use it in a few places. 2016-02-19 23:48:34 +01:00
Max Neunhoeffer 393ac7e753 Rename getCollectionId -> getCollectionIdLocal. 2016-02-19 23:26:17 +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 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 5fccaecc67 Add API for Transaction::indexScan. 2016-02-18 22:34:53 +01:00
Jan Steemann 367c234d96 implemented count() 2016-02-18 17:54:28 +01:00
Jan Steemann 544fc3a31b fixed compile error 2016-02-18 16:34:41 +01:00
Jan Steemann 157bbe3cf7 fixed replace() 2016-02-18 16:16:54 +01:00
Jan Steemann d6cc325c43 initial implementation of update, still broken 2016-02-17 18:06:35 +01:00
Jan Steemann bdc675e494 added stubs for document() and update() 2016-02-17 13:53:19 +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 46195bd3c9 added wasSynchronous flag 2016-02-16 16:41:50 +01:00
Jan Steemann 7127f54981 moved options into separate header 2016-02-16 16:23:28 +01:00
Jan Steemann e1817ac3b7 commented header 2016-02-16 16:04:09 +01:00
Jan Steemann 7a8968348f comments in header 2016-02-16 15:56:38 +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 0089b0fcf6 updated vpack library 2016-02-12 16:33:26 +01:00
Jan Steemann 9898103bc1 initial vpack documents 2016-02-11 21:56:10 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
Jan Steemann 3d8a52cdf4 some refactoring 2016-01-27 13:28:19 +01:00
Jan Steemann 9beeb09f37 fix out-of-memory situations 2016-01-22 13:24:33 +01:00
jsteemann 842384016d namespace cleanup 2016-01-21 00:20:22 +01:00
jsteemann ef67a496e6 more checks & asserts, C API cleanup 2016-01-20 22:08:11 +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 9f0576c65f don't rely so much on namespace std being present 2016-01-08 01:05:06 +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 edb4d2dc4c fix some VS compile errors 2016-01-05 14:10:10 +01:00
Michael Hackstein bec87a0ef8 Adapted utils to class version of TRI_col_info_t 2015-12-16 11:43:12 +01:00
Michael Hackstein 6b2f2451a6 Added wrappers to write/modify VelocyPack documents in a transaction 2015-12-06 13:32:43 +01:00
Jan Steemann 75e4e6e815 added transaction to all signatures 2015-11-24 17:34:23 +01:00
Jan Steemann 317ef4b8a2 remove, not working yet 2015-11-24 11:30:15 +01:00
Jan Steemann bd090571fb insertion of documents using vpack 2015-11-23 18:34:36 +01:00
Michael Hackstein e2d8bb2094 Added an additional assertion for nullptr in orderDitch. It was asserted on a subattribute of collection but never on collection itself 2015-10-29 09:51:30 +01:00
jsteemann 058fec96f6 removed some dependencies 2015-10-23 00:15:07 +02:00
Michael Hackstein c3c57d26a0 Improved skip in Enumerate collection 2015-10-22 16:22:56 +02:00
Michael Hackstein 1ba2efed60 Fixed GraphNeighbors as locking was not woring for include data 2015-10-07 15:50:41 +02:00
Jan Steemann 4249095456 issue #1507: added optional *allowImplicit* sub-attribute for transactions 2015-09-24 15:50:00 +02:00
Jan Steemann 06760a2c45 fixed broken index scan 2015-09-03 22:49:53 +02:00
Michael Hackstein 630c8fd42f Improved Primary Sequential read 2015-09-03 16:25:24 +02:00
Jan Steemann ec61d921f6 fixed typo 2015-09-03 13:55:07 +02:00
CoDEmanX b4593a7e82 Change spelling of 'initialize' to American English (comments and log messages only) 2015-09-01 17:07:21 +02:00
Claudius Weinberger f52beeacb0 fixed invalid index lookupus 2015-09-01 12:38:51 +00:00
Michael Hackstein 876853dd9f Fixed a bug with skip over primary index 2015-08-28 09:28:24 +02:00
Michael Hackstein 81fa8018b0 Improved primary index lookups to use parameter by reference instead of byPointer. less error prone. Fixed some issues with it. 2015-08-28 09:28:24 +02:00
Michael Hackstein d1ac131294 Fixed a bad access bug 2015-08-28 09:28:24 +02:00
Michael Hackstein 035de49b2f Adopted the transactions to the new Primary Index implementation. Removed nth queries. 2015-08-28 09:28:22 +02:00
Michael Hackstein 6d4d41387b Implemented sequential read and any read in Transaction.h 2015-08-28 09:28:22 +02:00
Michael Hackstein 0e90f396d7 Piped through readRandom and readSequential in PrimaryIndex. Used in Transaction 2015-08-28 09:28:22 +02:00
Jan Steemann e73f546be2 added assertion 2015-08-26 12:51:31 +02:00
Jan Steemann 7540059f36 uint32_t => uint64_t 2015-08-25 15:08:09 +02:00
Jan Steemann 31a6547d4c fix replication resumption 2015-08-21 15:57:24 +02:00
Jan Steemann 7ad99087ee use unique_ptr 2015-08-03 09:18:20 +02:00
Jan Steemann 6d7ccd7699 move shaper to cxx 2015-07-28 17:38:31 +02:00
Jan Steemann e25ecb5be8 added function cacheability info 2015-06-27 09:06:35 +02:00
Jan Steemann 4dde6e49cd goodbye barriers, welcome ditches 2015-05-28 10:23:30 +02:00
Jan Steemann 03461903fe fixed over-eager V8 context entering and exiting in non-cluster mode 2015-05-27 14:02:13 +02:00
Jan Steemann 9a1b3d0b52 in the middle of changes - need to go home now 2015-05-22 22:15:26 +02:00
Jan Steemann 3acbbbc880 call reserve() before storing documents 2015-05-19 14:28:25 +02:00
Jan Steemann 163c2fbc8b coarse locking for truncate() 2015-05-06 17:09:43 +02:00
Jan Steemann 2299d2916d initial commit to satisfy #1298 2015-04-13 18:26:33 +02:00
Frank Celler 4c5d57f1b8 merged Exceptions.h and Exception.h 2015-03-23 14:05:19 +01:00
Jan Steemann ff813a7d11 removed wrong comment 2015-02-09 11:33:13 +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 19d2d6668f added random iteration for collections 2014-12-19 18:01:13 +01:00
Jan Steemann 0a27b7cf89 removed debug output 2014-12-04 11:15:45 +01:00
Max Neunhoeffer 0044d7d1b0 Fix bug in AQL that abort() was called after commit() for trx. 2014-10-31 18:15:40 +01:00
Jan Steemann 4f68960ed7 removed Ahuacatl [skip ci] 2014-10-31 17:31:00 +01:00
Jan Steemann 13d240384f less namespace pollution 2014-10-28 00:24:37 +01:00
Jan Steemann 38c8f4e328 do not log warning 2014-10-24 13:19:26 +02:00
Jan Steemann 10c9a54932 start transactions on coordinator 2014-10-20 15:39:55 +02:00
Jan Steemann 026fc2b83a next attempt to fix v8 context handling 2014-10-17 15:47:39 +02:00
Jan Steemann ee614d6ebd v8 context handling 2014-10-17 15:25:06 +02:00
Jan Steemann dcb9427b6f rewrote transaction contexts 2014-10-16 15:53:28 +02:00
Jan Steemann 1e66c86d08 fixed invalid document access 2014-09-24 12:27:36 +02:00
Jan Steemann 506936dcdb rename orgy 2014-09-13 02:35:13 +02:00
Jan Steemann 669cb3b235 renamed files 2014-09-13 01:44:01 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Max Neunhoeffer 949557fc35 Remove an unnecessary parameter. 2014-09-12 14:43:56 +02:00
Jan Steemann a014b44ba4 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/Transaction.h
2014-08-28 11:06:14 +02:00
Jan Steemann 5930c3db70 added NTH function 2014-08-28 11:03:48 +02:00
Jan Steemann 86bf8e3c4f removed unused function argument 2014-08-23 00:50:37 +02:00
Jan Steemann 7b3389b55c modification queries 2014-08-18 13:52:41 +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 93cfa9e2e4 count number of documents in collection 2014-08-14 13:53:21 +02:00
Jan Steemann d896089210 added helper method 2014-08-05 13:52:03 +02:00
Jan Steemann 22ddd1e022 added comment 2014-07-28 16:21:59 +02:00
Jan Steemann 8cb85fd973 optimization for AQL queries with limit 2014-07-23 17:15:01 +02:00
Jan Steemann bda2db16da recovery and replication 2014-06-30 13:07:48 +02:00
Jan Steemann 067dbf63b2 WAL recovery 2014-06-27 19:11:41 +02:00
Jan Steemann 07d244488d changed crud signatures 2014-06-26 12:37:01 +02:00
Jan Steemann d56719ae4d simplification of signatures 2014-06-24 00:32:40 +02:00
Frank Celler 4dcf5dc817 updated disclaimer 2014-06-20 16:40:35 +02:00
Jan Steemann 2a0e0b18d0 added many tests 2014-06-16 14:39:26 +02:00
Jan Steemann 37a30b420d prevent exceptions 2014-06-14 15:05:54 +02:00
Jan Steemann 80a70667c0 made headers a real class 2014-06-13 11:31:40 +02:00
Jan Steemann bbdbbd5736 removed implicit parameter from function signature 2014-06-13 01:59:19 +02:00
Jan Steemann bc52f3408f recovery, not functional yet 2014-06-12 18:13:48 +02:00
Max Neunhoeffer ed1a588baa Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh 2014-06-12 10:39:13 +02:00
Max Neunhoeffer 82ab5bc0ac More checks for protected getShaper accesses.
Also: Make arangodump possible using fake trx objects.
2014-06-12 10:38:39 +02:00
Jan Steemann 1cc46c4626 copy WAL documents 2014-06-12 10:26:24 +02:00
Max Neunhoeffer f0bef2496f Make _shaper private and use getter/setter. 2014-06-11 11:18:22 +02:00
Jan Steemann dfc34c0c98 Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh 2014-06-10 16:42:43 +02:00
Jan Steemann 7c599ef893 barriers 2014-06-10 16:42:15 +02:00
Max Neunhoeffer 12a5ba03fd Move class TransactionBase to voc-types.h 2014-06-10 16:37:35 +02:00
Jan Steemann 2d8408dba5 add fake transaction object while collecting 2014-06-10 14:04:14 +02:00
Max Neunhoeffer 3f03956fe8 Fake TransactionBase. 2014-06-10 14:00:27 +02:00
Max Neunhoeffer 2dc70409cf Fix protection assertion system one more time. 2014-06-10 13:28:58 +02:00
Max Neunhoeffer d0ba832ffb Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	arangod/Utils/Transaction.h
2014-06-10 13:05:33 +02:00
Max Neunhoeffer 3c0c785ba5 First set of protection assertions. 2014-06-10 13:03:04 +02:00
Jan Steemann 370d7bc083 Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh 2014-06-10 11:56:56 +02:00
Jan Steemann da9f8247fb barriers are now created automatically by transactions 2014-06-10 11:56:40 +02:00
Max Neunhoeffer f7e5e28780 Create thread global transaction protection assertions. 2014-06-10 11:31:07 +02:00
Jan Steemann 00f593b8a9 cleanup 2014-06-10 09:55:44 +02:00
Jan Steemann 72a102e794 major internal changes 2014-06-08 00:12:53 +02:00
Jan Steemann 3f6cb4d9ed fixed update policy 2014-06-06 22:53:59 +02:00
Jan Steemann 368091d7c3 function cleanup 2014-06-06 21:35:34 +02:00
Jan Steemann c6b8bb7313 do not create _trx collection 2014-06-06 17:06:07 +02:00
Max Neunhoeffer fd2c99443f Introduce TRI_doc_mptr_copy_t for copies of master pointers.
Did not yet run through all occurrences of TRI_doc_mptr_t to see
whether they have to be TRI_doc_mptr_copy_t.
2014-06-06 16:59:32 +02:00
Jan Steemann 362838ae69 TRI_ASSERT 2014-06-06 11:25:19 +02:00
Jan Steemann 8da6824d15 added TRI_ASSERT and TRI_ASSERT_EXPENSIVE 2014-06-06 10:32:20 +02:00
Max Neunhoeffer 35e00a3a4d Revert "Do not copy TRI_doc_mptr_t."
This reverts commit ea1f82194dccdf212c9ef1f7ee8c5790b7e3c771.

We need to copy such that we can release the collection lock earlier.
2014-06-05 14:56:21 +02:00
Max Neunhoeffer 95933fb3c1 Do not copy TRI_doc_mptr_t. 2014-06-05 13:56:26 +02:00
Max Neunhoeffer 4de7e852f9 Merge branch 'mjmh' of ssh://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
	arangod/VocBase/document-collection.cpp
2014-06-05 12:07:48 +02:00
Max Neunhoeffer 2776dc78fa Make TRI_doc_mptr_t a C++ struct. 2014-06-05 12:03:57 +02:00
Jan Steemann ec8742f920 removed separate index lock 2014-06-05 11:39:14 +02:00
Jan Steemann 3bda98a28c Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	arangod/VocBase/document-collection.cpp
	arangod/Wal/DocumentOperation.h
2014-06-04 17:36:00 +02:00
Jan Steemann 7b7f42118e fixed some unique constraint violation handling 2014-06-04 17:28:06 +02:00
Max Neunhoeffer 3ad1940ce9 Looked through _headersPtr. 2014-06-04 16:23:07 +02:00
Max Neunhoeffer a7792a5306 Looked through TRI_EXTRACT_MARKER_KEY for protection. 2014-06-04 15:40:09 +02:00
Max Neunhoeffer a32bf12f2f Looked at all _dataptr dereferences. 2014-06-04 15:18:25 +02:00
Jan Steemann a43d5c3f7d Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh 2014-06-04 14:49:29 +02:00
Jan Steemann c5154fede7 use external index locking 2014-06-04 14:49:22 +02:00
Max Neunhoeffer f3653015b6 First part of protection proof. 2014-06-04 14:31:38 +02:00
Max Neunhoeffer 13541cf4ec Rename component _data -> _dataptr in master pointer. 2014-06-03 22:27:08 +02:00
Jan Steemann 8ba93e25a2 use marker protectors 2014-06-02 11:00:05 +02:00
Jan Steemann d4dd58b264 merged primary-collection.cpp with document-collection.cpp 2014-05-31 00:22:32 +02:00
Jan Steemann 7b521a4c9e Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	arangod/VocBase/document-collection.cpp
	arangod/VocBase/document-collection.h
2014-05-30 12:51:20 +02:00
Jan Steemann ed6a55abb9 specialized primary index for faster comparisons and less datafile lookups 2014-05-29 03:35:37 +02:00
Jan Steemann e52f6f9d05 reworked 2014-05-27 18:42:40 +02:00
Jan Steemann 6ad1ba13cc fixed mutex in key generator 2014-05-22 13:11:23 +02:00
Jan Steemann de14fa5944 removed old CRUD methods 2014-05-22 12:17:51 +02:00
Jan Steemann 5373f1cea0 Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	arangod/VocBase/edge-collection.h
2014-05-21 18:06:44 +02:00