| 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
/etc/vm.args; also parses name from config. (#2738) (#2809)
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
Co-authored-by: Simon Klassen <6997477+sklassen@users.noreply.github.com>
|
|
|
|
|
| |
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
Co-authored-by: Will Holley <willholley@apache.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the sort and copy phases when handling document IDs was not
measured in _active_tasks. This adds size tracking to allow operators a
way to measure progress during those phases.
I'd like to thank Vitaly for the example in #1006 that showed a clean
way for tracking the size info in `couch_emsort`.
Co-Authored-By: Vitaly Goot <vitaly.goot@gmail.com>
|
|
|
|
|
|
|
|
| |
This updates couch_db_updater to use the new multi-IO API functions
(append_terms/pread_terms) in couch_file. This optimization benefits us
by no longer requiring the `couch_emsort:merge/1` step to copy
`#full_doc_info{}` records multiple times while also not being penalized
by signficantly increasing the number of calls through couch_file APIs.
|
|
|
|
|
| |
This uses the new couch_file:append_terms/2 function to write all chunks
in a single write call.
|
|
|
|
|
|
|
| |
These functions allow the caller to append multiple terms or binaries to
a file and receive the file position and size for each individual
element. This is to optimize throughput in situations where we want to
write multiple pieces of independant data.
|
| |
|
|
|
|
|
|
|
| |
This change adds a new `#comp_st{}` record that is used to pass
compaction state through the various compaction steps. There are zero
changes to the existing compaction logic. This merely sets the stage for
adding our docid copy optimization.
|
|
|
|
| |
Port reduce_false.js and reduce_builtin.js to Elixir
|
| |
|
| |
|
| |
|
|
|
| |
Move "users_db_security_editable" to the correct location in the ini file
|
|
|
| |
Send correct seq values for filtered changes
|
|
|
| |
Set cookie domain when DELETE'ing
|
|
|
| |
Fix create db options on secondary shard creation
|
|\
| |
| | |
Backport jwt 3.x
|
| |
| |
| | |
Enhance JWT controls (again)
|
| |
| |
| | |
Only trust the servers declaration of JWT key type
|
| |
| |
| |
| | |
Make the JWT roles claim more CouchDB specific
|
| |
| |
| | |
Jwt enhancements
|
| |
| |
| |
| |
| |
| | |
Add JWT Authentication Handler
Co-authored-by: Robert Newson <rnewson@apache.org>
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
|
| |
| |
| | |
Throw if an unknown check is passed to jwtf:decode
|
| |
| |
| | |
Enhance alg check
|
|/
|
| |
Import jwtf
|
|
|
|
| |
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
|
|
|
|
|
|
| |
(#2596) (#2628)
* Port _design_docs tests from js to elixir
* Port design_options and design_paths tests from js to elixir
|
| |
|