| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
We've seen a crash if DbPartitioned is false and ViewPartitioned is
true, which is obviously nonsense. The effect of the `nocase` is the
termination of the couch_index_server gen_server, which is a serious
amplification of a small (user-initiated) oddity.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove unused string conversion functions
* Set UTF-8 encoding when compiling scripts
* Encode JavaScript strings as UTF-8 for printing
* Check that only strings are passed to print
* Use builtin UTF-8 conversions in http.cpp
* Add tests for couchjs UTF-8 support
* Remove custom UTF-8 conversion functions
We're now using 100% built-in functionality of SpiderMonkey to handle
all UTF-8 conversions.
* Report error messages at global scope
Previously we weren't reporting any uncaught exceptions or compilation
errors. This changes that to print any compilation errors or any
uncaught exceptions with stack traces.
The previous implementation of `couch_error` was attempting to call
`String.replace` on the `stack` member string of the thrown exception.
This likely never worked and attempting to fix I was unable to properly
invoke the `String.replace` function. This changes the implementation to
use the builtin stack formatting method instead.
* Modernize sources to minimize changes for 68
These are a handful of changes that modernize various aspects of the
couchjs 60 source files. Behaviorally they're all benign but will
shorten the diff required for adding support for SpiderMonkey 68.
Co-authored-by: Joan Touzet <wohali@apache.org>
|
|\
| |
| | |
safer binary_to_term in mango_json_bookmark
|
|/ |
|
|
|
|
|
| |
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
Co-authored-by: Jan Lehnardt <jan@apache.org>
|
|
|
|
|
|
| |
/etc/vm.args; also parses name from config. (#2738) (#2810)
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
Co-authored-by: Simon Klassen <6997477+sklassen@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, in https://github.com/apache/couchdb/pull/1783, the logic
was wrong in relation to how certain operators interacted with empty
arrays. We modify this logic to make it such that:
{"foo":"bar", "bar":{"$in":[]}}
and
{"foo":"bar", "bar":{"$all":[]}}
should return 0 results.
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
|
|
|
|
|
| |
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
Co-authored-by: Will Holley <willholley@apache.org>
|
|
|
|
| |
Port reduce_false.js and reduce_builtin.js to Elixir
|
| |
|
| |
|
| |
|
|\
| |
| | |
3.0.x backports from master
|
| |
| |
| | |
Fix create db options on secondary shard creation
|
| |
| |
| | |
Set cookie domain when DELETE'ing
|
| |
| |
| | |
Send correct seq values for filtered changes
|
|/
|
| |
Move "users_db_security_editable" to the correct location in the ini file
|
|
|
|
| |
Co-authored-by: Robert Newson <rnewson@apache.org>
|
|
|
|
|
|
| |
This copy slowed down the `erlang:spawn_link/3` call considerably.
Measurements in the wild showed the cost of that `spawn_link/3` going
from roughly 8 uS to 800 uS.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Port elixir proxyauth tests from js to elixir (#2660)
* Add support for specify a custom config file for CouchDB startup during testing
|
|
|
|
|
|
|
| |
elixir (3.0.x) (#2629)
* Port _design_docs tests, design_options and design_paths from js to elixir (#2596)
* Port changes.js test suite into elixir
|
| |
|
|\
| |
| | |
Port form submit test to elixir in 3.0.x
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously concurrent db creation requests could get past db_exists/1 and try
to create the shard document. The first one would succeed but the others would
fail with a `500 {"error":"error", "reason":"conflict"}` error instead of
`412`.
Handle the race condition by checking if db exists after getting a conflict
error and return a 412 response.
Fixes: #2613
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's a race between the meck:wait call in setup and killing the
config_event process. Its possible that we could kill and restart the
config_event process after meck:wait returns, but before
gen_event:add_sup_handler is called. More likely, we could end up
killing the config_event gen_event process before its fully handled the
add_sup_handler message and linked the notifier pid.
This avoids the race by waiting for config_event to return that it has
processed the add_sup_handler message instead of relying on meck:wait
for the subscription call.
|
| |
|
| |
|
|
|
|
| |
This reverts commit afef1b2f5823f6269ecb4a845e286e9d0c0f4f35.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
After commit 27bb45043435828915bdcbdc130b685e5533bbd8 local _users is only
created the first time it is used. So in most case it's expected to not exist.
Update local_dbs to return it only if it is actually created.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Allows `configure.ps1` to correctly pull and build `rebar` on Windows
* Removes the static declarations in `rebar.config.script` on
specific, pre-determined paths to various includes/libraries
necessary for NIFs and external binaries (expectation is these are
passed in env vars INCLUDE, LIB and LIBPATH)
* fixes the SM60 `couchjs` build by telling `windows.h` not to
redefine min and max as macros through a `#define`
* fixes the `make eunit` target on Windows
* Adds the missing `EXE_LINK_CXX_TEMPLATE` that our rebar doesn't have,
but `enc` has today, which is also causing a failed `couchjs` (C++)
build on Windows
* Causes `make python-black` to correctly cause failure in `make check`
if it finds problems
* fixes Mango tests on Python 3.8 by bumping the hypothesis dependency
* fixes one Elixir test on Windows (incorrect calculation of `now(:ms)`
due to Erlang clock precision difference)
* a little bit of python black cleanup (mango tests)
|
| |
|
|
|
|
|
|
|
|
|
| |
Observed on FreeBSD Jenkins test runner:
```
function couch_replicator_clustering:setup/0 (src/couch_replicator_clustering.erl, line 257)
**error:{badmatch,{error,{already_started,<0.3165.0>}}} in module 'couch_replicator_clustering'
```
|
|
|
|
|
|
| |
This changes the couchjs OOM test so that it will trigger more reliably
on SpiderMonkey 60. It appears that newer SpiderMonkeys are better at
conserving memory usage which takes this test longer to trigger.
|