You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Jan Lehnardt (Closed) (JIRA)" <ji...@apache.org> on 2011/10/30 22:12:32 UTC
[jira] [Closed] (COUCHDB-729) View Generation: emit() not
instantaneous
[ https://issues.apache.org/jira/browse/COUCHDB-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jan Lehnardt closed COUCHDB-729.
--------------------------------
Resolution: Won't Fix
emit() will append to a buffer inside the query server, tmp will point to the same object. I don't think making a deep copy is a good idea. This is a leaky abstraction we are unlikely to close (unless somebody has a fabulous patch that does not introduce any performance or memory issues.
> View Generation: emit() not instantaneous
> -----------------------------------------
>
> Key: COUCHDB-729
> URL: https://issues.apache.org/jira/browse/COUCHDB-729
> Project: CouchDB
> Issue Type: Bug
> Components: JavaScript View Server
> Environment: Using Win7
> Reporter: Walt W
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> Try the following view function:
> function(doc) {
> var tmp = { result: 'a' };
> emit(null, tmp);
> tmp.result = 'b';
> emit(null, tmp);
> }
> The unfortunate happening is that (null, { result: 'b' }) is emitted twice per document, rather than one 'a' and one 'b'. I would think that the emit function should grab and copy the values passed immediately; it does not make sense or seem useful (to me anyway) to allow them to change after the fact.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira