Strange CouchDB Issue Revision 656634646439 (Tue Sep 28 2010 at 23:12) - Diff Link to this snippet: https://friendpaste.com/40Isk42SiEdxW4yi4DuPsm Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131// I am creating an accounting app; the transactions are stored using the following doc:{ "_id": "405b791b64424d12e03c12e6e5001535", "_rev": "1-97d53ba31a6ebb8c0508d0fc8776fac5", "type": "transaction", "account": "account_id", "payee": "Gas Company", "description": "May Bill", "date": "2009/05/25", "status": "cleared", "category": "Bills / Gas", "value": -5000}// Or they can be split acroll multiple accounts / categories / etc. In this case split over two categories:{ "_id": "405b791b64424d12e03c12e6e5002532", "_rev": "1-da46384d5f9fbfd26acbf8fc9a8e82fe", "type": "transaction", "account": "account_id", "payee": "Credit Card Company", "description": "May Statement", "date": "2009/06/02", "status": "uncleared", "category": "Debt / Credit Card Payments", "value": -5000, "split": [ { "category": "Dept / Default Charges", "value": -1000 } ]}// I have made a view to display all the unique categories in use across all transactions.// MAPfunction (doc) { if (doc.type && doc.type == 'transaction') { if (doc.category) emit(doc.category); if (doc.split) doc.split.map(function (spl) { if (spl.category) emit(spl.category); }); }}// REDUCEfunction(keys, values, rereduce) { return true;}// CURRENT OUTPUT OF VIEW (with group=true){ "rows": [ { "key": "Debt / Credit Card Payments", "value": true }, { "key": "Bills / Gas", "value": true } ]}// CURRENT OUTPUT OF VIEW WHEN RUN AS A TEMPORARY VIEW (with group=true){ "rows": [ { "key": "Dept / Default Charges", "value": true }, { "key": "Debt / Credit Card Payments", "value": true }, { "key": "Bills / Gas", "value": true } ]}// SIMPLE TEST VIEWfunction (doc) { if (doc.split) emit(null, doc.split);}// OUTPUT OF TEMP VIEW{ "total_rows": 1, "offset": 0, "rows": [ { "id": "405b791b64424d12e03c12e6e5002532", "key": null, "value": [ { "category": "Dept / Default Charges", "value": -1000 } ] } ]}// OUTPUT OF SAME VIEW AFTER SAVE{ "total_rows": 1, "offset": 0, "rows": [ { "id": "405b791b64424d12e03c12e6e5002532", "key": null, "value": [ ] } ]}/*It seems from the above that couch is for some reason returning the splits field as an empty array.Thanks for your time on IRC already.CheersJohn*/