return -1;
}
- std::stringstream query;
- query << "SELECT pk_user, cash, free_mb, "
- "last_activity_time, last_cash_add, "
- "last_cash_add_time, passive_time "
- "FROM tb_users "
- "WHERE name = '" << elogin << "'";
+ {
+ std::ostringstream query;
- query << "SELECT cash, free_mb, "
++ query << "SELECT pk_user, cash, free_mb, "
+ "last_activity_time, last_cash_add, "
+ "last_cash_add_time, passive_time "
+ "FROM tb_users "
+ "WHERE name = '" << elogin << "'";
- result = PQexec(connection, query.str().c_str());
+ result = PQexec(connection, query.str().c_str());
+ }
if (PQresultStatus(result) != PGRES_TUPLES_OK)
{
return -1;
}
- std::stringstream tuple;
- tuple << PQgetvalue(result, 0, 0) << " ";
- tuple << PQgetvalue(result, 0, 1) << " ";
- tuple << PQgetvalue(result, 0, 2) << " ";
- stat->lastActivityTime = TS2Int(PQgetvalue(result, 0, 3));
- tuple << PQgetvalue(result, 0, 4) << " ";
- stat->lastCashAddTime = TS2Int(PQgetvalue(result, 0, 5));
- tuple << PQgetvalue(result, 0, 6);
-
- PQclear(result);
-
+uint32_t uid;
+
- tuple >> uid
- >> stat->cash
- >> stat->freeMb
- >> stat->lastCashAdd
- >> stat->passiveTime;
+ {
+ std::stringstream tuple;
+ tuple << PQgetvalue(result, 0, 0) << " ";
+ tuple << PQgetvalue(result, 0, 1) << " ";
- stat->lastActivityTime = TS2Int(PQgetvalue(result, 0, 2));
- tuple << PQgetvalue(result, 0, 3) << " ";
- stat->lastCashAddTime = TS2Int(PQgetvalue(result, 0, 4));
- tuple << PQgetvalue(result, 0, 5) << " ";
++ tuple << PQgetvalue(result, 0, 2) << " ";
++ stat->lastActivityTime = TS2Int(PQgetvalue(result, 0, 3));
++ tuple << PQgetvalue(result, 0, 4) << " ";
++ stat->lastCashAddTime = TS2Int(PQgetvalue(result, 0, 5));
++ tuple << PQgetvalue(result, 0, 6) << " ";
- query.str("");
+ PQclear(result);
- query << "SELECT dir_num, upload, download "
- "FROM tb_stats_traffic "
- "WHERE fk_user = " << uid;
- tuple >> stat->cash
++ tuple >> uid
++ >> stat->cash
+ >> stat->freeMb
+ >> stat->lastCashAdd
+ >> stat->passiveTime;
+ }
- result = PQexec(connection, query.str().c_str());
+ {
+ std::ostringstream query;
+ query << "SELECT dir_num, upload, download "
+ "FROM tb_stats_traffic "
- "WHERE fk_user IN (SELECT pk_user FROM tb_users WHERE name = '" << elogin << "') AND "
- "DATE_TRUNC('month', stats_date) = DATE_TRUNC('month', CAST('" << Int2TS(stgTime) << "' AS TIMESTAMP))";
++ "WHERE fk_user = " << uid;
+
+ result = PQexec(connection, query.str().c_str());
+ }
if (PQresultStatus(result) != PGRES_TUPLES_OK)
{