SQLRETURN ApplicationDataDescriptor::populateBoundBuffersFromResultSet(QueryResult& resultSet) { bool success = true; // iterate over all bound buffers and populate them using data from jsonRows. // TODO: Implement support for multi-row buffers for (auto it = m_items.begin(); it != m_items.end(); ++it) { uint16_t columnOrParamNum = it->first; const Json::Value& jsonRow = *(resultSet.rows()[0]); // use first row const Json::Value& jsonValue = jsonRow[columnOrParamNum-1]; // subtract 1 because jsonRow does not contain the bookmark column ColumnDescriptor* meta = resultSet.column(columnOrParamNum); if (it->second.isBufferBound()) { SQLRETURN result = it->second.toBoundBuffer(&jsonValue, meta); success &= result == SQL_SUCCESS; } } return success ? SQL_SUCCESS : SQL_ERROR; }