string PgsqlDataProvider::prepareProcessTradesQuery(const TradeList& tradeList) { ostringstream query; query << "SELECT process_trades((ARRAY["; if (tradeList.size() != 0) { ConstTradeIterator iterator = tradeList.begin(); ConstTradeIterator endIterator = tradeList.end(); query << format(*iterator); iterator++; while (iterator != endIterator) { query << ", " << format(*iterator); iterator++; } } query << "])::t_trade[]);"; if (verbose) cout << "Query: " << query.str() << endl; return query.str(); }