diff options
author | Filipe David Borba Manana <fdmanana@apache.org> | 2010-11-23 16:38:37 +0000 |
---|---|---|
committer | Filipe David Borba Manana <fdmanana@apache.org> | 2010-11-23 16:38:37 +0000 |
commit | bdc029ff820f44b1c39021298edc53c013fa85b2 (patch) | |
tree | 4732dd504a01e353a559a3d2578ba02c382cc89b /share/server/views.js | |
parent | b790bfba46770cd97d4dd6ed5177901b79ad495c (diff) |
Merged revision 1038193 from trunk:
Seal documents before passing them to map functions (JavaScript view server only).
This prevents one map function from modifying a document before it's passed to another map function.
Has no effect on array fields for some Spidermonkey versions (see https://bugzilla.mozilla.org/show_bug.cgi?id=449657).
Closes COUCHDB-925.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038195 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/server/views.js')
-rw-r--r-- | share/server/views.js | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/share/server/views.js b/share/server/views.js index ffe63377..2a15ee56 100644 --- a/share/server/views.js +++ b/share/server/views.js @@ -105,19 +105,8 @@ var Views = (function() { // ] // - /* - Immutable document support temporarily removed. + Couch.recursivelySeal(doc); - Removed because the seal function no longer works on JS 1.8 arrays, - instead returning an error. The sealing is meant to prevent map - functions from modifying the same document that is passed to other map - functions. However, only map functions in the same design document are - run together, so we have a reasonable expectation they can trust each - other. Any map fun that can't be trusted can be placed in its own - design document, and it cannot affect other map functions. - - recursivelySeal(doc); // seal to prevent map functions from changing doc - */ var buf = []; for (var i = 0; i < State.funs.length; i++) { map_results = []; |