summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* testarchive/test-eventstest-eventsILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-12-181-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-11-101-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-10-271-0/+1
|
* testILYA Khlopotov2017-09-131-0/+1
|
* testILYA Khlopotov2017-09-131-0/+1
|
* Don't reset logs when JS tests restart the serverPaul J. Davis2017-09-131-1/+7
| | | | | | | | | | When a JS test requested a restart server we would wip the current log file. This makes it hard to debug failing tests occasionally when they happen just after a restart. This change prevents just opens log files in read/write mode specifically when a test requests a server restart. The current behavior for interactive use of `dev/run` will continue to truncate log files on startup.
* Provide a more accurate size check for max_document_size limitNick Vatamaniuc2017-09-135-5/+183
| | | | | | | | | | | | | | | | | | | max_document_size currently checks document sizes based on Erlang's external term size of the jiffy-decoded document body. This makes sense because that's what used to store the data on disk and it's what manipulated by the CouchDB internals. However erlang term size is not always a good approximation of the size of json encoded data. Sometimes it can be way off (I've seen 30% off) and It's hard for users to estimate or check the external term size beforehand. So for example if max_document_size is 1MB, CouchDB might reject user's 600KB json document because Erlang's external term size of that document greater than 1MB. To fix the issue provide a module which calculates the encoded size of a json document. The size calculation approximates as well, since there is no canonical json size as it depends on the encoder used. Issue #659
* Do not crash when free space cannot be calculated (#803)Will Holley2017-09-121-16/+28
| | | | | | | | | | | | | | | | | If the compaction daemon cannot calculate the free space for a volume, do not crash CouchDB. Instead, log a warning that free space could not be calculated and continue. Compaction of the database is not necessarily prevented - just that the disk space for this specific volume won't be taken into account when deciding whether to automatically compact or not. This is primarily to cope with edge cases arising from ERL-343, whereby disksup:get_disk_data() returns invalid paths for volumes containing whitespace. Fixes #732
* Log unhandled mango errorsWill Holley2017-09-121-7/+7
|
* Return 400 when no index can fulfil a sortWill Holley2017-09-122-3/+11
| | | | | | Fixes a regression where a 500 status code was returned when no index is available to service a _find query because the sort order does not match any available indexes.
* Use unittest assertions in mango index testsWill Holley2017-09-121-15/+15
| | | | | | The assertion functions inherited from unittest provide clearer errors when tests fail - use these in preference to plain assert.
* Use unittest assert in index selection testsWill Holley2017-09-121-8/+8
| | | | | | Replace use of native assert with unittest.assertX. This ensures we return descriptive errors when assertions fail.
* Avoid duplicate index selection in MangoWill Holley2017-09-125-16/+28
| | | | | | | | | | | | | | | | | Previously, index selection for a given query was run twice for each request - once to add a warning in case a full database scan would be performed and then again when the query was executed. This moves the warning generation so that it occurs at the end of the query processing and we can use the existing index context to decide whether to add a warning or not. Whilst only a minor optimisation (which also assumes we don't have cached query plans etc), it at least moves index selection to where you'd expect it to happen (query planning).
* Query operator tests for multiple index types (#800)Will Holley2017-09-113-14/+97
| | | | | | | | | | | | * add operator tests for text indexes * add operator tests for _all_docs * add tests for null and range handling Tests consistent behaviour for handling null values and range queries between different index types (_all_docs, json indexes and text indexes).
* Implement attachment size limitsNick Vatamaniuc2017-09-0712-20/+526
| | | | | | | | | | | | | | | | | | Currently CouchDB has configurable single document body size limits, as well as http request body limits, and this commit implements attachment size limit. Maximum attachment size can be configured with: ``` [couchdb] max_attachment_size = Bytes | infinity ``` `infinity` (i.e. no maximum) is the default value it also preserves the current behavior. Fixes #769
* Allow library object in other design doc sections besides viewsNick Vatamaniuc2017-09-062-16/+51
| | | | | | | | | Previously only `views` sections could have a `lib` object. But some users might choose to have a library for filters for example. This makes it agree with this section of the wiki: https://wiki.apache.org/couchdb/CommonJS_Modules
* Improve Mango operator tests (#792)Will Holley2017-09-052-24/+70
| | | | Clarify behaviour for null / missing fields. Convert tests to unittest assertions for clearer errors.
* Pass user ctx when opening a doc in show handlerEric Avdey2017-09-042-5/+54
|
* Merge pull request #765 from willholley/mango_explain_view_parametersWill Holley2017-09-042-20/+38
|\ | | | | include mrview options in _explain result
| * include mrview options in _explain resultWill Holley2017-09-042-20/+38
|/ | | | | | | _explain previously returned the options passed in by the user but not those modified at execution time by Mango. Now we include index-specific options (mrargs for map/reduce indexes) in the output, allowing us to see e.g. when include_docs was used.
* Remove copy/paste error in jenkinsfileJoan Touzet2017-08-301-6/+0
|
* Fix Jenkins build - always pull latest pkg imgJoan Touzet2017-08-301-42/+50
|
* basic execution statistics for _find (#768)Will Holley2017-08-309-28/+230
| | | | | | | | | | | | Accept an "execution_stats" parameter to _find. If present, return a new "execution_stats" object in the response which contains information about the query executed. Currently, this is only implemented for json/all_docs indexes and contains: - total keys examined (currently always 0 for json indexes) - total documents examined (when include_docs=true used) - total quorum documents examined (when fabric doc lookups used)