** Changed in: u1db-qt Importance: Medium => High -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to u1db-qt in Ubuntu. https://bugs.launchpad.net/bugs/1271973
Title: Results from U1db.Query contain only indexed fields, not the whole document Status in U1DB Qt/ QML: Confirmed Status in u1db-qt package in Ubuntu: Confirmed Bug description: Whe using U1db.Index and U1db.Query to query information from a U1db, the results returned from a Query should be the entire document, and instead they are a subset of the document containing only the indexed fields. Example code below. Observe that the left-hand ListView is showing results, but those results are not the whole content of each document; instead, they contain only the fields in the index. Index queries should return the whole document. Otherwise queries are almost useless; they are designed so that you can get a list of the documents which match the query fields, not just the query fields which match the query fields. Returning the value of the fields which match the query is pointless: you must already know those values in order to construct the query in the first place. import QtQuick 2.0 import U1db 1.0 as U1db Rectangle { width: 600 height: 300 U1db.Database { id: db; path: "u1db-broken-query"; } U1db.Document { database: db; docId: "doc1"; create: true defaults: { "topfield": { "subfield": "subvalue1" }, "toplevelfield": "topvalue1" } } U1db.Document { database: db; docId: "doc2"; create: true defaults: { "topfield": { "subfield": "subvalue2" }, "toplevelfield": "topvalue2" } } U1db.Index { database: db id: by_topfield_subfield expression: ["topfield.subfield"] } U1db.Index { database: db id: by_toplevelfield expression: ["toplevelfield.subfield"] } U1db.Query { id: qtopsub; index: by_topfield_subfield; query: [{subfield: "*"}] } U1db.Query { id: qtoplevel; index: by_toplevelfield; query: [{toplevelfield: "*"}] } Text { id: h1 width: parent.width / 2 height: 50 anchors.left: parent.left anchors.top: parent.top horizontalAlignment: Text.AlignHCenter text: "ListModel on topfield.subfield" } ListView { anchors.top: h1.bottom anchors.left: parent.left width: h1.width anchors.bottom: parent.bottom model: qtopsub delegate: Text { text: JSON.stringify(model.contents) } } Text { id: h2 width: parent.width / 2 height: 50 anchors.right: parent.right anchors.top: parent.top horizontalAlignment: Text.AlignHCenter text: "ListModel on toplevelfield" } ListView { anchors.top: h2.bottom anchors.right: parent.right width: h2.width anchors.bottom: parent.bottom model: qtoplevel delegate: Text { text: JSON.stringify(model.contents) } } } To manage notifications about this bug go to: https://bugs.launchpad.net/u1db-qt/+bug/1271973/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp