1
0
Fork 0
Commit Graph

5632 Commits

Author SHA1 Message Date
Jan Steemann cf0b5d35c4 fix wrong comment 2015-04-28 20:37:27 +02:00
Willi Goesgens fd6fc37429 Use the proper fee function for json structures - fixes memleak. 2015-04-28 13:25:31 +02:00
Jan Steemann bb3316bf5b issue #1322: strange AQL result
This fixes a problem with unique skiplist indexes declared on multiple attributes
that were queried with an equality condition on only a prefix (e.g. a single
attribute only)
2015-04-28 09:41:03 +02:00
Jan Steemann 4d581b4e78 less copying of ranges 2015-04-28 09:38:54 +02:00
Jan Steemann 128b29c8d2 cxxified more functions 2015-04-28 09:29:09 +02:00
Jan Steemann ed24ee798a always perform proper block cleanup 2015-04-27 23:28:42 +02:00
Jan Steemann 717df15a9c cxxified more AQL functions 2015-04-27 22:12:11 +02:00
Jan Steemann 5be9a0bfb6 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-04-27 17:39:10 +02:00
Jan Steemann d7e7a0ffbb less copying of RangeInfoBounds 2015-04-27 17:38:52 +02:00
Willi Goesgens 57e361a74b Adust documentation snipets
- they now node when they expect to throw an exception, so all exceptions else thrown are real bugs
  - bugs some snippets fixed
  - some snippets now do a proper setup & teardown
2015-04-27 17:12:35 +02:00
Jan Steemann 7da9c4daff Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-04-27 12:43:51 +02:00
Jan Steemann bf3a1daaa9 recycle AqlItemBlocks 2015-04-27 12:41:55 +02:00
Jan Steemann 96fdbe91dc issue #1318: Inconsistent db._create() syntax 2015-04-27 10:51:22 +02:00
Thomas Schmidts fb7af0e86f Fixed #1303 Deleted one sentence from the documentation 2015-04-24 16:49:00 +02:00
Jan Steemann 32b547886b fixed up some headers 2015-04-24 13:11:29 +02:00
Jan Steemann 745d80d999 fixed compile warning with g++4.9.2 2015-04-24 12:48:50 +02:00
Jan Steemann 3b09a018d5 fixed VS compile issues 2015-04-24 10:35:10 +02:00
Jan Steemann 292e203b6b slightly faster JSON hashing 2015-04-23 18:03:38 +02:00
Jan Steemann 9fce723de8 specialized attribute accessor functions for internal attributes 2015-04-23 17:30:10 +02:00
Jan Steemann bf2864dd04 mini optimization 2015-04-23 15:52:08 +02:00
Jan Steemann 4a1a6a41ab added specialized method setShaped() 2015-04-23 15:34:42 +02:00
Jan Steemann ad5350a9c0 better encapsulation of AqlItemBlock's values 2015-04-23 13:45:49 +02:00
Jan Steemann 40ed49ebfa fast path for MERGE() 2015-04-23 13:45:31 +02:00
Jan Steemann 8c71c801ca increment _id in call to nextName() 2015-04-22 14:17:45 +02:00
Jan Steemann 1283d43608 simplification for comments parsing 2015-04-22 14:17:18 +02:00
Jan Steemann 6e14c99835 fixed error message 2015-04-22 14:16:52 +02:00
Jan Steemann 224b33cc75 moved UNSET() and KEEP() to cxx implementation 2015-04-22 13:21:05 +02:00
Jan Steemann c73b7dd68a save hash table lookups for ShapedJson AqlValues 2015-04-22 10:48:16 +02:00
Jan Steemann baa5e39348 removed lib/Basics/utf8-helper.cpp and merged with lib/Basics/Utf8Helper.cpp 2015-04-21 17:53:35 +02:00
Jan Steemann 974b656c1b allow overriding COLLECT method 2015-04-21 14:45:22 +02:00
Jan Steemann 629883041c added asserts 2015-04-21 12:08:09 +02:00
Jan Steemann f985c8eef9 removed duplicate examples 2015-04-20 16:17:19 +02:00
Jan Steemann c3b4e32571 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-04-20 16:10:38 +02:00
Jan Steemann b46db8ed20 use value by reference 2015-04-20 16:10:31 +02:00
Jan Steemann 529f220c3b mini optimizations for AqlItemBlock 2015-04-20 15:31:06 +02:00
Jan Steemann 3bb3e15d8e fixed getAttributeAccess() 2015-04-20 14:30:06 +02:00
Jan Steemann 05d5fae614 fixed wrong forward declaration 2015-04-20 13:49:03 +02:00
Jan Steemann d20c104d0c specialized attribute accessor for AQL 2015-04-20 13:26:04 +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
Willi Goesgens 98ed57170a Fix warning about implicit double to size cast. 2015-04-17 10:43:46 +02:00
Jan Steemann 6e23c5330f added restrictions for export API 2015-04-17 00:24:43 +02:00
Jan Steemann d9add3a493 fixed collect in cluster 2015-04-16 21:10:48 +02:00
Jan Steemann 528ec17bcd Merge branch 'devel' of https://github.com/arangodb/arangodb into hash-collect
Conflicts:
	arangod/FulltextIndex/fulltext-handles.cpp
2015-04-16 19:06:21 +02:00
Jan Steemann 2e5fac692f mini simplification 2015-04-16 17:54:04 +02:00
Jan Steemann 73899168be some adjustments to satisfy scan-build 2015-04-16 16:30:20 +02:00
Jan Steemann 9f2643acaa show type of collect method in explain 2015-04-16 16:29:36 +02:00
Jan Steemann e2000f571f try to satisfy scan-build 2015-04-16 15:04:11 +02:00
Jan Steemann ad132ed202 delete expired cursors in coordinator, too 2015-04-16 13:51:03 +02:00
Jan Steemann e1312f2088 attempt to satisfy scan-build a bit 2015-04-16 11:47:18 +02:00
Jan Steemann d3569d5c77 adjusted failure code names 2015-04-16 00:28:41 +02:00
Jan Steemann ff6e56d89c adjusted some tests 2015-04-15 23:45:07 +02:00
Jan Steemann 8926e3f2e2 initial commit 2015-04-15 19:04:21 +02:00
Jan Steemann 6624c00215 explicitly set clientTaskId 2015-04-15 17:30:14 +02:00
Jan Steemann 322b3f9c6d issue #1231: bug xor feature in AQL: LENGTH(null) == 4
This changes the behavior of the AQL `LENGTH` function as follows:

- if the single argument to `LENGTH()` is `null`, then the result will now be `0`. In previous
  versions of ArangoDB, the result of `LENGTH(null)` was `4`.

- if the single argument to `LENGTH()` is `true`, then the result will now be `1`. In previous
  versions of ArangoDB, the result of `LENGTH(true)` was `4`.

- if the single argument to `LENGTH()` is `false`, then the result will now be `0`. In previous
  versions of ArangoDB, the result of `LENGTH(false)` was `5`.

The results of `LENGTH()` with string, numeric, array object argument values do not change.
2015-04-14 19:03:29 +02:00
Jan Steemann 8a1677c1dc safely increment nrRegs 2015-04-14 13:27:48 +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 7c393dec44 fixed assertion error on shutdown 2015-04-13 16:24:19 +02:00
Jan Steemann d8597d9662 fixed edge index lookups in cluster 2015-04-13 14:36:16 +02:00
Max Neunhoeffer bd0724add6 Fix retry behaviour in some places of cluster code. 2015-04-13 13:03:40 +02:00
Max Neunhoeffer 4b4e1b2466 Fix number of tries in getCollection. 2015-04-13 12:07:53 +02:00
Max Neunhoeffer 1709a25163 Startup V8 threads concurrently in multiple C++11 threads.
Conflicts:
	arangod/V8Server/ApplicationV8.cpp
2015-04-13 12:07:26 +02:00
Thomas Schmidts d7dc9ea169 Fixed broken examples in the documentation 2015-04-12 13:47:26 +02:00
Alan Plum 966af1a750 Added global/GLOBAL/root to global context. 2015-04-07 16:47:09 +02:00
Jan Steemann 931c26fea3 read .arangod.rc on server start if it exists 2015-04-03 16:00:57 +02:00
Jan Steemann 0e93087d50 slightly faster V8 => JSON conversion in AQL 2015-04-03 16:00:38 +02:00
Jan Steemann 013209b9c7 add expressionType to JSON output of CalculationNode 2015-04-03 15:02:17 +02:00
Jan Steemann 20a4299d0d use nullptr 2015-04-03 14:59:49 +02:00
Jan Steemann 37e0233d10 Revert "added missing files for JSH"
This reverts commit 99b80dd1e338ec122fea54e6af604f2310f1e080.
2015-04-03 14:57:52 +02:00
Jan Steemann 8b132ad60f added missing files for JSH 2015-04-03 14:57:12 +02:00
Jan Steemann de877150eb less branching in comparison functions 2015-04-03 13:49: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 ca6801d473 Merge branch 'devel' of https://github.com/arangodb/arangodb into cursor-refactoring 2015-03-31 15:13:41 +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 9706a3d6ac fixed Windows compile errors 2015-03-31 15:12:38 +02:00
Jan Steemann 3f913f96d7 less copying of RangeInfoBounds 2015-03-31 14:53:14 +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 3ddf23d093 hand-moved changes from other branch 2015-03-30 12:30:45 +02:00
Jan Steemann 3ac535bb69 fixed startup 2015-03-27 18:33:05 +01:00
Jan Steemann 3057cf7a74 added edge index iterator
Conflicts:
	arangod/Aql/ExecutionBlock.h
2015-03-27 17:24:47 +01:00
Jan Steemann 50b531666c optimization for AQL CONCAT()
Conflicts:
	arangod/Aql/AqlValue.cpp
	arangod/Aql/AqlValue.h
	arangod/Aql/Ast.cpp
2015-03-27 17:18:27 +01:00
Jan Steemann 9c3419fda3 fixed extern type 2015-03-27 17:09:17 +01:00
Jan Steemann 6957de23d2 fixed name qualification 2015-03-27 17:06:58 +01:00
Jan Steemann 960b464c57 issue #1054: add info whether server is running in service or user mode? 2015-03-27 16:49:47 +01:00
Jan Steemann 5599259075 fixed Visual Studio compile errors 2015-03-26 10:34:38 +01:00
Jan Steemann c352ba6a03 small logging refactoring 2015-03-26 03:09:07 +01:00
Jan Steemann 3555cdb0fe removed unused method 2015-03-25 17:00:47 +01:00
Jan Steemann e230ac11c0 fixed leak 2015-03-25 16:55:45 +01:00
Jan Steemann 9703f04621 fixed wrong return value 2015-03-25 13:03:49 +01:00
Jan Steemann 2f58e4ea61 small cleanup 2015-03-25 12:42:44 +01:00
Jan Steemann 59053df10a issue #1285: allow bind parameter names starting with underscores 2015-03-24 18:43:53 +01:00
Jan Steemann b98f8f7e29 fix initialization 2015-03-24 18:42:24 +01:00
Jan Steemann 0ceff3f1b0 added cluster tests 2015-03-24 18:28:55 +01:00
Jan Steemann 01745402f3 Merge branch 'devel' of https://github.com/arangodb/arangodb into data-modification 2015-03-24 14:34:20 +01:00