1
0
Fork 0
Commit Graph

569 Commits

Author SHA1 Message Date
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
Jan Steemann db0fdf24ec less string operations during batch request header parsing 2014-09-29 13:56:45 +02:00
Max Neunhoeffer 046d4f524d Implement getSome for RemoteBlock. 2014-09-26 16:19:25 +02:00
Max Neunhoeffer 0466873092 First step towards correct setup of HTTP API for AQL. 2014-09-19 13:14:19 +02:00
Jan Steemann 506936dcdb rename orgy 2014-09-13 02:35:13 +02:00
Jan Steemann 953b8cdfe3 renamed files 2014-09-13 00:34:48 +02:00
Jan Steemann 0dc0bc834f more files renamed 2014-09-13 00:20:30 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +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 c0463a1797 added `type` option for `GET /_api/document?collection=...`
Conflicts:
	CHANGELOG
2014-08-30 17:26:24 +02:00
Jan Steemann 86bf8e3c4f removed unused function argument 2014-08-23 00:50:37 +02:00
Jan Steemann 0a439474e5 cppcheck 2014-08-22 12:51:26 +02:00
Jan Steemann 97fd5a55ba renamed variable 2014-08-15 18:12:58 +02:00
Max Neunhoeffer 28f0d7be05 Sort out TRI_CompareValuesJson to use UTF8 on demand. 2014-08-13 14:22:05 +02:00
Michael Hackstein a5b35f224a Fixed REST API documentation. Some values were not recognized as paramters by swagger script 2014-08-07 14:52:55 +02:00
Max Neunhoeffer 4e95044faa Hand on --force option of arangorestore. 2014-07-10 14:34:21 +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
Thomas Schmidts c2fa9cb091 Erased useless @startDocuBlocks 2014-07-08 11:16:56 +02:00
Jan Steemann fcadb40af6 updated replication documentation 2014-07-06 15:59:52 +02:00
Jan Steemann a5cf53d417 fixed examples 2014-07-01 16:48:47 +02:00
Max Neunhoeffer b2f7793c26 Let DBservers report the cluster-wide collection name instead of the
shard name in error messages for single document operations.
2014-07-01 15:55:41 +02:00
Thomas Schmidts 9e2a538096 Changed API documentation in code 2014-06-30 17:29:15 +02:00
Thomas Schmidts d9b733b997 Fixes some documentation pages for API. fixes #922 2014-06-30 14:22:17 +02:00
Jan Steemann 57b5cde21e nullptr 2014-06-27 23:58:13 +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 66ffe61a76 renamed enum values 2014-06-24 17:32:43 +02:00
Jan Steemann 97e36a7eb0 fixed examples 2014-06-24 11:26:51 +02:00
Jan Steemann cc041c4851 typecasts 2014-06-24 08:20:35 +02:00
Jan Steemann d56719ae4d simplification of signatures 2014-06-24 00:32:40 +02:00
Jan Steemann 53909c0dcd adjusted tests 2014-06-23 18:45:06 +02:00
Jan Steemann 13e061bd76 fixed tests 2014-06-23 17:46:00 +02:00
Jan Steemann b31c2330d4 exclude collections 2014-06-23 14:24:12 +02:00
Jan Steemann 3b0d8b15d6 re-added replication 2014-06-23 13:22:38 +02:00
Jan Steemann fc823938c0 nullptr 2014-06-21 03:27:38 +02:00
Jan Steemann 16bf152c8f fully removed replication logger 2014-06-21 00:32:47 +02:00
Frank Celler 4dcf5dc817 updated disclaimer 2014-06-20 16:40:35 +02:00