Skip to content

Commit

Permalink
FAB-2560 GetQueryResult() query re-write is incorrect
Browse files Browse the repository at this point in the history
Query is getting re-written in fabric with duplicate "data" wrappers.

Query in chaincode:

{"selector":{"docTypeId":3,"oriRe":"SMP","ctB":"CTB","valDt":"1990-12-24",
"orB":"YYY","tD":"TD","cuVoB":52,"cuIoBu":"AA","cuSt":"NA"}}

Result:

2017-03-01 06:48:14.782 UTC [statecouchdb] ApplyQueryWrapper ->
DEBU 441 Rewritten query with data wrapper: {"selector":{"$and":[
{"chaincodeid":"marbles"},
{"data.cuIoBu":"AA","data.cuVoB":52,"data.data.ctB":"CTB","data.data.cuSt":"NA",
"data.docTypeId":3,"data.orB":"YYY","data.oriRe":"SMP","data.tD":"TD"
"data.valDt":"1990-12-24"}]}}

Multiple fields have the "data" wrapper repeated.

Change-Id: I50445f15222dbdf5bd61e475666c2c34fde6fda4
Signed-off-by: Chris Elder <chris.elder@us.ibm.com>
  • Loading branch information
Chris Elder committed Mar 1, 2017
1 parent 803962b commit fbed7b1
Showing 1 changed file with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,14 @@ func processAndWrapQuery(jsonQueryMap map[string]interface{}) {
//the next level of the json query
func processInterfaceMap(jsonFragment map[string]interface{}) {

//iterate the the item in the map
//create a copy of the jsonFragment for iterating
var bufferFragment = make(map[string]interface{})
for keyVal, itemVal := range jsonFragment {
bufferFragment[keyVal] = itemVal
}

//iterate the the item in the map
for keyVal, itemVal := range bufferFragment {

//check to see if the key is an operator
if arrayContains(validOperators, keyVal) {
Expand Down

0 comments on commit fbed7b1

Please sign in to comment.