#include "FieldLists.h" #include "../shared/MiscSQL.h" #include "AlertsDailyDatabase.h" static void add(AlertsDailyData &data, time_t date, MysqlResultRef const &row) { static const std::string SYMBOL = "d_symbol"; const std::string symbol = row->getStringField(SYMBOL); const Record::Ref record = DatabaseFieldInfo::makeRecord(row, DatabaseFieldInfo::getDailyFields()); data.setDate(symbol, date, record); } int add(AlertsDailyData &data, std::string const &date, DatabaseWithRetry &database) { const time_t dateAsNumber = mysqlToTimeT(date); std::string sql = "SELECT "; sql += DatabaseFieldInfo::makeSqlFieldList(DatabaseFieldInfo::getDailyFields()); sql += " FROM alerts_daily WHERE date='"; sql += mysqlEscapeString(date); sql += "'"; MysqlResultRef result = database.tryQueryUntilSuccess(sql, "load AlertsDailyData"); for (; result->rowIsValid(); result->nextRow()) add(data, dateAsNumber, result); return result->numRows(); }