1
0
Fork 0
Commit Graph

422 Commits

Author SHA1 Message Date
Jan Steemann e25ecb5be8 added function cacheability info 2015-06-27 09:06:35 +02:00
Jan Steemann 1f5e047486 query cache, now with result limitations, HTTP and JavaScript APIs 2015-06-27 01:12:32 +02:00
Jan Steemann 7b366ca130 use auto 2015-06-05 12:46:41 +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 a9f2769ffa now compiles and links 2015-05-23 04:31:13 +02:00
Jan Steemann 9a1b3d0b52 in the middle of changes - need to go home now 2015-05-22 22:15:26 +02:00
Michael Hackstein 86c7f87dd3 Merge branch 'cppTrav2' into devel 2015-05-19 16:17:27 -07:00
Jan Steemann 3acbbbc880 call reserve() before storing documents 2015-05-19 14:28:25 +02:00
Michael Hackstein 3b3a28e16a The CPP shortest path can now live with non existent vertices and even with non existent vertex collections (dropped after edge creation but before path computation) 2015-05-12 15:39:04 -07:00
Jan Steemann f6bc0a05e3 added `limit` parameter for export API 2015-05-12 14:16:27 +02:00
Jan Steemann 6b412a1c01 Merge branch 'json-privatisierung' of https://github.com/arangodb/arangodb into json-privatisierung 2015-05-07 13:05:12 +02:00
Jan Steemann 163c2fbc8b coarse locking for truncate() 2015-05-06 17:09:43 +02:00
Jan Steemann 63138def67 fix location response headers with special characters 2015-05-05 14:00:06 +02:00
Jan Steemann a007a867ee "privatized" TRI_vector_t internals.
This allows changing the internals of TRI_vector_t structs in order to make the struct smaller.
On 64 bits, the size of TRI_vector_t is reduced from 48 bytes to 28 bytes.
TRI_json_t does benefit from this, as its biggest component is a TRI_vector_t.
2015-05-05 10:31:02 +02:00
Jan Steemann 244cc2d66d added some batch processing methods 2015-05-04 17:46:47 +02:00
Jan Steemann 0099fe260a return value optimization for AQL 2015-04-30 23:38:27 +02:00
Jan Steemann 8dbcf0e23f Visual Studio adjustments 2015-04-30 11:46:55 +02:00
Jan Steemann 32b547886b fixed up some headers 2015-04-24 13:11:29 +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 6e23c5330f added restrictions for export API 2015-04-17 00:24:43 +02:00
Jan Steemann ad132ed202 delete expired cursors in coordinator, too 2015-04-16 13:51:03 +02:00
Jan Steemann 2299d2916d initial commit to satisfy #1298 2015-04-13 18:26:33 +02:00
Jan Steemann 0f1244f72d better export API cleanup 2015-03-31 18:44:51 +02:00
Jan Steemann e672d791b5 refactored cursor API, added export API 2015-03-30 18:03:42 +02:00
Jan Steemann 80a99ab23e refactored cursor API 2015-03-30 14:58:51 +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
Frank Celler 4c5d57f1b8 merged Exceptions.h and Exception.h 2015-03-23 14:05:19 +01:00
Jan Steemann 13ddb8b34b fixed some cluster plans 2015-03-17 13:52:09 +01:00
Jan Steemann ff813a7d11 removed wrong comment 2015-02-09 11:33:13 +01:00
Willi Goesgens 854f733c49 Exceptions:
- Assert that the associated errorcode has format options so if you call a THROW-macro with parameters these don't get lost unheard.
  - Add new macro which offers format strings, so you can throw standard errors with custom messages.
2015-01-21 15:03:21 +01:00
Max Neunhoeffer 1782039138 Fix cluster-wide locking for AQL. 2014-12-22 16:21:45 +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 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Jan Steemann 0a27b7cf89 removed debug output 2014-12-04 11:15:45 +01:00
Jan Steemann a71bf1819c issue #1099: do not fail if general-graph.remove is used inside a transaction 2014-11-17 15:47:39 +01:00
Jan Steemann f96a3d3f98 forgot to commit 2014-11-07 11:04:21 +01:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +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 83252851e6 report warnings in queries 2014-10-30 17:33:15 +01:00
Jan Steemann 13d240384f less namespace pollution 2014-10-28 00:24:37 +01:00
Jan Steemann 7452c70a3b moved backtrace functions 2014-10-27 18:15:10 +01:00
Willi Goesgens 7db7c22443 don't add the TRI_errno_string() to the exception twice. 2014-10-27 15:39:10 +01:00
Jan Steemann 38c8f4e328 do not log warning 2014-10-24 13:19:26 +02:00
Jan Steemann 3269bfe3a9 simpler iteration 2014-10-23 14:43:43 +02:00
Willi Goesgens 02c1f59007 Also add our errno strings to exceptions with user messages (if not TRI_ERROR_INTERNAL) 2014-10-21 12:43:33 +02:00
Jan Steemann 40e62e95a5 fixed out-of-scheduler-threads issue 2014-10-20 18:27:50 +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
Max Neunhoeffer 11ace2de3a Fix registerTransaction in StandaloneTransactionContext. 2014-10-17 15:33:48 +02:00
Max Neunhoeffer de7c303c5d Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
Conflicts:
	arangod/Aql/Query.cpp
2014-10-17 15:26:50 +02:00
Max Neunhoeffer cb75b0b18a Sort out transactions in cluster, part I. 2014-10-17 15:25:46 +02:00
Jan Steemann ee614d6ebd v8 context handling 2014-10-17 15:25:06 +02:00
Max Neunhoeffer 7a25f20e23 Fix clone for AqlTransactions. 2014-10-17 11:02:37 +02:00
Max Neunhoeffer d508812ec3 Silence a compiler warning. 2014-10-17 09:09:36 +02:00
Max Neunhoeffer 83ebd46652 Tell AqlTransaction constructor if transaction is main or sub.
Only lock collections in AqlTransactions that are main ones.
2014-10-16 23:59:02 +02:00
Max Neunhoeffer a231ca4c82 Finish some changes to transactions in AQL. 2014-10-16 16:46:39 +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 223820eba3 removed some macros 2014-10-16 16:31:49 +02:00
Jan Steemann 70c59a61fd removed macro 2014-10-16 16:28:18 +02:00
Jan Steemann dcb9427b6f rewrote transaction contexts 2014-10-16 15:53:28 +02:00
Jan Steemann 0f83d8132f fixed some transaction threading errors 2014-10-06 18:39:01 +02:00
Jan Steemann 573d837561 off-by-one fix 2014-10-02 17:06:12 +02:00
Jan Steemann 38d43a2fb3 print error message in cases AqlHandler fails 2014-10-01 17:47:43 +02:00
Jan Steemann 3ac25ad56f fixed some issues with remote queries 2014-09-29 12:14:03 +02:00
Max Neunhoeffer 784a299ab8 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-24 16:17:44 +02:00
Max Neunhoeffer cf5e1be91e Version version of HTTP API done. 2014-09-24 16:17:18 +02:00
Jan Steemann 1e66c86d08 fixed invalid document access 2014-09-24 12:27:36 +02:00
Jan Steemann aa20c9e980 renamed last C files... 2014-09-13 22:38:25 +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 d147be8de3 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 15:01:58 +02:00
Max Neunhoeffer 6194618906 Finish removal of type argument in create. 2014-09-12 15:01:16 +02:00
Max Neunhoeffer 949557fc35 Remove an unnecessary parameter. 2014-09-12 14:43:56 +02:00
Willi Goesgens 36b7ed81a0 Enrich expressions with more information, by catching them, enhancing and re-throwing them. 2014-09-12 13:57:48 +02:00
Jan Steemann c034307dca Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/CollectionNameResolver.h
2014-09-10 15:54:49 +02:00
Max Neunhoeffer a6d57d2c8a Fix DBserver bug with CollectionNameResolver and local collections. 2014-09-10 15:50:41 +02:00
Jan Steemann ff2334b575 renamed method 2014-09-09 10:40:57 +02:00
Willi Goesgens f4b4c202d2 Transaction: Abort on first error also when invoked through addCollections() 2014-09-08 17:48:00 +02:00
Willi Goesgens 68d30cef8b Transaction: abort initialisation process on error so our internal error state stays sane. 2014-09-08 15:06:30 +02:00
Jan Steemann aadd0f9254 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/CollectionNameResolver.h
	arangod/V8Server/v8-vocbase.cpp
2014-08-30 17:35:08 +02:00
Jan Steemann 7d500b7234 speed up instanciation of v8 ShapedJson objects
now a static buffer is used to create multiple string values
such as `_id`, `_key`, `_rev`, `_from` and `_to`.
this saves a few memory allocations per document

Conflicts:
	arangod/Utils/CollectionNameResolver.h
	arangod/V8Server/v8-vocbase.cpp
2014-08-30 01:47:58 +02:00
Jan Steemann c90777738d speed up instanciation of v8 ShapedJson objects
now a static buffer is used to create multiple string values
such as `_id`, `_key`, `_rev`, `_from` and `_to`.
this saves a few memory allocations per document
2014-08-30 01:32:20 +02:00
Willi Goesgens be1c84f480 Exceptions: don't print Backtraces if the exception is handled in the subsequent js code. 2014-08-29 12:15:19 +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
Willi Goesgens f6b1433160 When compiled in maintainer mode, print c-backtraces on Arango Exceptions too. 2014-08-25 10:27:25 +02:00
Jan Steemann 80e5ceeb52 emplace 2014-08-23 01:28:58 +02:00
Jan Steemann 86bf8e3c4f removed unused function argument 2014-08-23 00:50:37 +02:00
Jan Steemann 45d5d0f53a cppcheck 2014-08-22 13:53:21 +02:00
Jan Steemann 1aeed2152c fixed de-serialization 2014-08-21 10:02:30 +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 dbf2842a28 much better exception handling 2014-08-06 18:37:37 +02:00
Jan Steemann 1015404edc working on AQL function calls and error handling 2014-08-06 16:19:43 +02:00
Max Neunhoeffer 5cbbd8a4c4 Fix barrier and documentCollection access in Expressions.
Still does not link.
2014-08-05 14:33:54 +02:00
Jan Steemann 2003524a3d Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-05 13:52:17 +02:00
Jan Steemann d896089210 added helper method 2014-08-05 13:52:03 +02:00
Max Neunhoeffer 96d8dcc054 Major cleanup, not yet working. 2014-08-05 12:29:36 +02:00
Max Neunhoeffer a9dac96bf3 Store AqlValue objects in AqlItemBlocks. 2014-08-05 11:05:24 +02:00
Jan Steemann 7fd236aa4f fixed enumeratecollection block 2014-08-04 17:27:51 +02:00
Jan Steemann 182ab57e8d transaction 2014-08-04 11:15:53 +02:00
Jan Steemann f4e8775ddc nicer parser error messages 2014-07-30 12:30:06 +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
Max Neunhoeffer 4f88753ea5 Improve error handling in arangorestore.
In particular:
  - Notice if collections mentioned in _from and _to fields of edges
    do not exist.
  - In cluster case make the coordinator report errors from the
    DBservers better.
  - Fail more quickly if arangorestore does not go well.
2014-07-10 14:06:26 +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
Jan Steemann fc823938c0 nullptr 2014-06-21 03:27:38 +02:00
Frank Celler 4dcf5dc817 updated disclaimer 2014-06-20 16:40:35 +02:00
Jan Steemann b303db2b50 Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	js/apps/system/aardvark/frontend/js/bootstrap/errors.js
	js/common/bootstrap/errors.js
2014-06-17 00:49:18 +02:00
Jan Steemann a1177816aa modifiable AQL, final syntax 2014-06-17 00:37:08 +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 35a81dc54d more asserts 2014-06-13 21:40:34 +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
Jan Steemann 28d2ae151e flush 2014-06-11 14:18:04 +02:00
Jan Steemann b802973273 Merge branch 'mjmh' of https://github.com/triAGENS/ArangoDB into mjmh
Conflicts:
	arangod/Wal/CollectorThread.cpp
2014-06-11 11:33:48 +02:00
Jan Steemann 7e6750c397 wal flush w/ collection unload 2014-06-11 11:33:02 +02:00
Max Neunhoeffer f0bef2496f Make _shaper private and use getter/setter. 2014-06-11 11:18:22 +02:00
Jan Steemann eba885d583 fixed member initialization in second constructor 2014-06-10 17:41:11 +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
Jan Steemann aa173b315b update cap constraint sizes 2014-06-10 13:40:33 +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 d9653bc462 DML for AQL 2014-06-10 09:30:27 +02:00
Jan Steemann 72a102e794 major internal changes 2014-06-08 00:12:53 +02:00
Jan Steemann ca959cab9d simplified usage of transactions 2014-06-06 23:28:34 +02:00