1
0
Fork 0
Commit Graph

605 Commits

Author SHA1 Message Date
Jan Steemann 5b82096145 honor indexBuckets attribute in restore operation of collection 2015-08-13 15:37:32 +02:00
Willi Goesgens bbb8198d2b Add a @brief to all descriptions, remove stray markup. 2015-08-12 16:58:06 +02:00
Willi Goesgens 096ad46f05 revert ad5a2c49f1c8479fb4896a28b178d34fcfe3abe8 - arangodump isn't a plain json. 2015-08-11 14:49:06 +02:00
Willi Goesgens b6613208d0 switch to logging json formatted response for better user experience. 2015-08-11 14:15:15 +02:00
Jan Steemann b659d9fa07 use unique_ptr 2015-08-07 16:48:35 +02:00
Jan Steemann 5d82f0b385 some cleanup 2015-08-07 15:16:33 +02:00
Jan Steemann 30839600e6 use unique_ptr 2015-08-06 22:13:33 +02:00
Jan Steemann 22e734a940 use unique_ptr 2015-08-05 21:03:52 +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
Frank Celler 35a3c6421c moved dispatcher to atomic 2015-07-23 15:40:34 +02:00
Jan Steemann 4d0872f2b9 more cxx 2015-07-20 18:42:02 +02:00
Jan Steemann 124fe7a34c use new/delete for TRI_vocbase_t 2015-07-20 12:08:13 +02:00
Jan Steemann c71dc4d9bb Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache 2015-07-13 10:49:14 +02:00
Frank Celler 27f9af2808 added more info about expect and received value 2015-07-09 16:17:40 +02:00
Willi Goesgens f442455fdd Fix memleak - Replace creates a copy. 2015-07-02 10:55:42 +02:00
Willi Goesgens 1dea6b29a5 Fix memleaks in coordinator. 2015-06-30 14:36:37 +02:00
Jan Steemann 1f5e047486 query cache, now with result limitations, HTTP and JavaScript APIs 2015-06-27 01:12:32 +02:00
Willi Goesgens df031a9f2a Find the right place where the json wasn't free'd 2015-06-25 09:45:05 +02:00
Willi Goesgens 29366dff96 Fix memleaks. 2015-06-24 17:42:26 +02:00
Jan Steemann 83b326cfc7 moved PUT /_api/simple/all to C++ 2015-06-18 15:34:45 +02:00
Jan Steemann 5a5407f516 constified methods 2015-06-17 23:22:45 +02:00
Jan Steemann b76cb5caee use nullptr 2015-06-02 23:39:41 +02:00
Jan Steemann 49fb7effb3 issue #1353: Windows: HTTP API - incorrect path in errorMessage
Do not return path part, collection name and key part in error response
2015-06-02 10:26:37 +02:00
Jan Steemann 4dde6e49cd goodbye barriers, welcome ditches 2015-05-28 10:23:30 +02:00
Jan Steemann 4b67c7a735 several fixes for indexes 2015-05-26 13:35:11 +02:00
Jan Steemann a9f2769ffa now compiles and links 2015-05-23 04:31:13 +02:00
Michael Hackstein 86c7f87dd3 Merge branch 'cppTrav2' into devel 2015-05-19 16:17:27 -07:00
Jan Steemann b6142f475c micro optimizations 2015-05-15 17:40:41 +02:00
Jan Steemann 541257c537 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-05-12 14:53:15 +02:00
Jan Steemann f6bc0a05e3 added `limit` parameter for export API 2015-05-12 14:16:27 +02:00
Jan Steemann 5cd7b64ce8 fixed potential race during arangob runs 2015-05-11 22:57:30 +02:00
Jan Steemann 8c3e72d33c added waitForSync option 2015-05-11 13:09:37 +02:00
Jan Steemann 5ad7dea0c8 use auto for HTTP response headers iteration 2015-05-08 17:44:33 +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 855c1465fd added documentation for new simple methods 2015-05-07 11:42:58 +02:00
Jan Steemann e93225d7f5 fix cluster document fetching 2015-05-06 11:00:41 +02:00
Jan Steemann 46cdf686c4 documentation update 2015-05-05 18:23:07 +02:00
Jan Steemann c677ea8b88 added tests for collection.lookupByKeys() and collection.removeByKeys() 2015-05-05 17:57:33 +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 f09d8903a9 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
Conflicts:
	Documentation/Scripts/generateExamples.py
2015-05-04 17:47:31 +02:00
Jan Steemann 244cc2d66d added some batch processing methods 2015-05-04 17:46:47 +02:00
Willi Goesgens 312972a4ec Modify examples so they clean up after their run. 2015-05-04 17:22:25 +02:00
Jan Steemann 0099fe260a return value optimization for AQL 2015-04-30 23:38:27 +02:00
Max Neunhoeffer 1dd7802450 Fix error reporting at import. 2015-04-26 12:53:02 -07:00
Jan Steemann f985c8eef9 removed duplicate examples 2015-04-20 16:17:19 +02:00
Jan Steemann 6e23c5330f added restrictions for export API 2015-04-17 00:24:43 +02:00
Jan Steemann 6624c00215 explicitly set clientTaskId 2015-04-15 17:30:14 +02:00
Jan Steemann 92fcdd3e56 issue #1298: Bulk import if data already exists
This change extends the HTTP REST API for bulk imports as follows:

When documents are imported and the `_key` attribute is specified for them, the import can be
used for inserting and updating/replacing documents. Previously, the import could be used for
inserting new documents only, and re-inserting a document with an existing would have failed
with a *unique key constraint violated* error.

The above behavior is still the default. However, the API now allows controlling the behavior
in case of a unique key constraint error via the optional URL parameter `onDuplicate`.

This parameter can have one of the following values:

- `error`: when a unique key constraint error occurs, do not import or update the document but
  report an error. This is the default.

- `update`: when a unique key constraint error occurs, try to (partially) update the existing
  document with the data specified in the import. This may still fail if the document would
  violate secondary unique indexes. Only the attributes present in the import data will be
  updated and other attributes already present will be preserved. The number of updated documents
  will be reported in the `updated` attribute of the HTTP API result.

- `replace`: when a unique key constraint error occurs, try to fully replace the existing
  document with the data specified in the import. This may still fail if the document would
  violate secondary unique indexes. The number of replaced documents will be reported in the
  `updated` attribute of the HTTP API result.

- `ignore`: when a unique key constraint error occurs, ignore this error. There will be no
  insert, update or replace for the particular document. Ignored documents will be reported
  separately in the `ignored` attribute of the HTTP API result.

The result of the HTTP import API will now contain the attributes `ignored` and `updated`, which
contain the number of ignored and updated documents respectively. These attributes will contain a
value of zero unless the `onDuplicate` URL parameter is set to either `update` or `replace`
(in this case the `updated` attribute may contain non-zero values) or `ignore` (in this case the
`ignored` attribute may contain a non-zero value).
2015-04-14 11:44:33 +02:00
Jan Steemann 2299d2916d initial commit to satisfy #1298 2015-04-13 18:26:33 +02:00
Jan Steemann 92c8dc9429 fixed documentation
Conflicts:
	Documentation/Scripts/generateSwaggerApi.py
2015-04-03 13:22:44 +02:00
Jan Steemann 0f1244f72d better export API cleanup 2015-03-31 18:44:51 +02:00
Jan Steemann 6dfb4d4b09 Merge branch 'devel' of https://github.com/arangodb/arangodb into cursor-refactoring
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	lib/HttpServer/HttpHandler.cpp
	lib/HttpServer/HttpServerJob.h
2015-03-31 15:13:31 +02:00
Jan Steemann 6f4fadd630 removed .o files 2015-03-31 14:45:22 +02:00
Frank Celler ffbc45d2e2 new HttpServer & HttpCommTask
Conflicts:
	Makefile.in
	arangod/Aql/RestAqlHandler.cpp
	arangod/Aql/grammar.cpp
	arangod/Cluster/RestShardHandler.cpp
	lib/GeneralServer/GeneralServer.h
	lib/GeneralServer/GeneralServerDispatcher.h
	lib/HttpServer/HttpServerJob.h
	lib/HttpServer/HttpsCommTask.h
	lib/SimpleHttpClient/SslClientConnection.cpp
2015-03-31 09:12:01 +02:00
Jan Steemann c508eb0a81 removed some debugging features 2015-03-30 22:05:31 +02:00
Jan Steemann 925f4fbab6 cleanup of some static const variables 2015-03-30 21:43:55 +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 c352ba6a03 small logging refactoring 2015-03-26 03:09:07 +01:00
Jan Steemann e230ac11c0 fixed leak 2015-03-25 16:55:45 +01:00
Frank Celler 4c5d57f1b8 merged Exceptions.h and Exception.h 2015-03-23 14:05:19 +01:00
Frank Celler 3c52dcde6d changed _api/query to C++
Conflicts:
	CHANGELOG
	Makefile.in
	README
	arangod/RestServer/ArangoServer.cpp
2015-03-23 10:51:14 +01:00
Jan Steemann 7f121fc352 use barrier 2015-03-04 11:35:32 +01:00
Jan Steemann 68c57ce061 fix Visual Studio undefinedness 2015-02-26 18:07:25 +01:00
Willi Goesgens dcac88c35a Fix error message on tempfile creation 2015-02-23 15:28:46 +01:00
Willi Goesgens d61fc4343a Set debug message trap for failing windows arangobench tests. 2015-02-17 14:27:25 +01:00
Jan Steemann 320d7c3e8f reduce var scope 2015-02-03 16:20:41 +01:00
Jan Steemann 8273970856 fixed leak 2015-01-30 12:37:31 +01:00
Jan Steemann 2ad6f4179f fixed leak 2015-01-29 15:37:23 +01:00
Jan Steemann ddc8e52a59 fixed leak 2015-01-29 15:31:55 +01:00
Patrick Huber 387c7686e7 document how the http status code and lastincluded http headers relate to each other 2015-01-28 11:04:18 +01:00
Jan Steemann 81db41763f foxx file upload 2015-01-23 11:23:58 +01:00
Jan Steemann 8aeded5c86 fixed documentation 2015-01-22 13:36:01 +01:00
Jan Steemann f75e4dfbb3 issue #1219: /_api/replication/logger-state clients field 2015-01-22 11:06:55 +01:00
Jan Steemann 957fa189d2 better diagnostics for arangoimp 2015-01-15 13:42:31 +01:00
Jan Steemann b54dfae96f removed several JSON functions 2015-01-13 01:31:04 +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 fd5a723f30 removed deprecated methods 2014-12-19 14:00:58 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Jan Steemann 04bcf3f362 issue #1184: use error codes more consistently 2014-12-15 16:22:18 +01:00
Jan Steemann 4b12897026 issue #1184: return error codes more consistently 2014-12-15 16:18:49 +01:00
Tomas Bosak 32bc422ad5 Improve edge API docs.
- create edge operation with 202 result is returned when waitForSync was
set to false
- add missing If-None-Match header parameter description to read head
operation
- add information about _key attribute in result for replace, update and
delete operations
2014-12-12 17:33:30 +01:00
Tomas Bosak 953d5efa7a Add 'mergeObjects' description to edge API docs.
Description of 'mergeObjects' parameter was missing in edge update
(PATCH) operation.
2014-12-10 23:24:32 +01:00
Tomas Bosak d0b041842a Update document API description.
Include information about _key attribute which is also returned along
with _id and _rev for replace, update and delete document operations.
2014-12-09 10:50:06 +01:00
Jan Steemann 12c155636a updated docs for mergeObjects 2014-12-08 11:00:31 +01:00
Jan Steemann d9a945e33a include or exclude system collections from replication 2014-12-05 14:58:43 +01:00
Tomas Bosak 259c3152cd Fix typo and add '_key' attribute description. 2014-12-04 17:57:13 +01:00
Alan Plum 41ab3aa4d6 Renamed mergeArrays->mergeObjects to make API less confusing. 2014-12-02 17:03:03 +01:00
Jan Steemann ac36c0cd7a added mergeArrays attribute 2014-11-28 13:58:49 +01:00
Jan Steemann 13d240384f less namespace pollution 2014-10-28 00:24:37 +01:00
Jan Steemann 223820eba3 removed some macros 2014-10-16 16:31:49 +02:00
Jan Steemann dcb9427b6f rewrote transaction contexts 2014-10-16 15:53:28 +02:00
Jan Steemann 8294e54f32 faster import 2014-10-08 17:01:45 +02:00
Jan Steemann d8934a025f make parseDocumentId more strict again 2014-10-03 01:23:07 +02:00
Jan Steemann 7a4c8f69db speed up parseDocumentId 2014-10-03 00:49:46 +02:00
Jan Steemann f8cf3d1951 fixed memleak 2014-10-01 12:21:37 +02:00
Jan Steemann f3186fa065 cppcheck 2014-09-29 17:02:40 +02:00