diff --git a/src/backend/dataproxy.js b/src/backend/dataproxy.js index a2731f00..eb305189 100644 --- a/src/backend/dataproxy.js +++ b/src/backend/dataproxy.js @@ -56,6 +56,19 @@ this.recline.Backend.DataProxy = this.recline.Backend.DataProxy || {}; if (results.error) { dfd.reject(results.error); } + + // Rename duplicate fieldIds as each field name needs to be + // unique. + var seen = {}; + _.map(results.fields, function(fieldId, index) { + if (fieldId in seen) { + seen[fieldId] += 1; + results.fields[index] = fieldId + "("+seen[fieldId]+")"; + } else { + seen[fieldId] = 1; + } + }); + dataset.fields.reset(_.map(results.fields, function(fieldId) { return {id: fieldId}; })