in lib/protocol/decoder.js [262:303]
decodeSearch: function (buffers) {
var response = tsSearchProtos.SearchResponse.decode(buffers);
var result = {};
var totalCounts = response.totalHits.toString();
if (totalCounts != "-1") {
result.totalCounts = totalCounts;
}
result.isAllSucceeded = response.isAllSucceeded;
result.nextToken = response.nextToken;
var rows = [];
TableStore.util.arrayEach(response.rows, function(aRow) {
var inputStream = new TableStore.PlainBufferInputStream(aRow);
var codedInputStream = new TableStore.PlainBufferCodedInputStream(inputStream);
var row = codedInputStream.readRow();
rows.push(row);
});
result.rows = rows;
if (response.aggs && response.aggs.length > 0) {
result.aggs = TableStore.decoder._parseAggs(response.aggs);
}
if (response.groupBys && response.groupBys.length > 0) {
result.groupBys = TableStore.decoder._parseGroupBys(response.groupBys);
}
result.searchHits = [];
if(response.rows.length !== response.searchHits.length && response.searchHits.length !== 0) {
console.log("the row count is not equal to search extra result item count in server response body, ignore the search extra result items.");
} else {
for (let i in response.searchHits) {
result.searchHits.push(TableStore.decoder._parseSearchHit(response.searchHits[i], rows[i]));
}
}
if (response.consumed) {
result.consumed = response.consumed;
}
if (response.reservedConsumed) {
result.reservedConsumed = response.reservedConsumed;
}
return result;
},