Add easySQLQuery for simple sql query
This commit is contained in:
parent
c38278fbc1
commit
c90d32e35d
@ -318,23 +318,7 @@ void ServerLobby::initServerStatsTable()
|
|||||||
<< " connected_time, disconnected_time, ping\n"
|
<< " connected_time, disconnected_time, ping\n"
|
||||||
<< " FROM " << m_server_stats_table << ";";
|
<< " FROM " << m_server_stats_table << ";";
|
||||||
query = oss.str();
|
query = oss.str();
|
||||||
ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
easySQLQuery(query);
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
|
|
||||||
// _current_players
|
// _current_players
|
||||||
// Current players in server with ip in human readable format and time
|
// Current players in server with ip in human readable format and time
|
||||||
@ -352,23 +336,7 @@ void ServerLobby::initServerStatsTable()
|
|||||||
<< " connected_time, ping FROM " << m_server_stats_table << "\n"
|
<< " connected_time, ping FROM " << m_server_stats_table << "\n"
|
||||||
<< " WHERE connected_time = disconnected_time;";
|
<< " WHERE connected_time = disconnected_time;";
|
||||||
query = oss.str();
|
query = oss.str();
|
||||||
ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
easySQLQuery(query);
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
|
|
||||||
// _player_stats
|
// _player_stats
|
||||||
// All players with online id and username with their time played stats
|
// All players with online id and username with their time played stats
|
||||||
@ -389,23 +357,7 @@ void ServerLobby::initServerStatsTable()
|
|||||||
<< " FROM " << m_server_stats_table << "\n"
|
<< " FROM " << m_server_stats_table << "\n"
|
||||||
<< " WHERE online_id != 0 GROUP BY online_id ORDER BY num_connections DESC;";
|
<< " WHERE online_id != 0 GROUP BY online_id ORDER BY num_connections DESC;";
|
||||||
query = oss.str();
|
query = oss.str();
|
||||||
ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
easySQLQuery(query);
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t last_host_id = 0;
|
uint32_t last_host_id = 0;
|
||||||
query = StringUtils::insertValues("SELECT MAX(host_id) FROM %s;",
|
query = StringUtils::insertValues("SELECT MAX(host_id) FROM %s;",
|
||||||
@ -442,23 +394,7 @@ void ServerLobby::initServerStatsTable()
|
|||||||
"UPDATE %s SET disconnected_time = datetime('now') "
|
"UPDATE %s SET disconnected_time = datetime('now') "
|
||||||
"WHERE connected_time = disconnected_time;",
|
"WHERE connected_time = disconnected_time;",
|
||||||
m_server_stats_table.c_str());
|
m_server_stats_table.c_str());
|
||||||
ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
easySQLQuery(query);
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
} // initServerStatsTable
|
} // initServerStatsTable
|
||||||
|
|
||||||
@ -484,25 +420,7 @@ void ServerLobby::writeDisconnectInfoTable(STKPeer* peer)
|
|||||||
"UPDATE %s SET disconnected_time = datetime('now'), ping = %d "
|
"UPDATE %s SET disconnected_time = datetime('now'), ping = %d "
|
||||||
"WHERE host_id = %u;", m_server_stats_table.c_str(),
|
"WHERE host_id = %u;", m_server_stats_table.c_str(),
|
||||||
peer->getAveragePing(), peer->getHostId());
|
peer->getAveragePing(), peer->getHostId());
|
||||||
|
easySQLQuery(query);
|
||||||
sqlite3_stmt* stmt = NULL;
|
|
||||||
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
} // writeDisconnectInfoTable
|
} // writeDisconnectInfoTable
|
||||||
|
|
||||||
@ -835,7 +753,15 @@ void ServerLobby::cleanupDatabase()
|
|||||||
oss << ");";
|
oss << ");";
|
||||||
query = oss.str();
|
query = oss.str();
|
||||||
}
|
}
|
||||||
|
easySQLQuery(query);
|
||||||
|
} // cleanupDatabase
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
/** Run simple query without bothering the result. */
|
||||||
|
void ServerLobby::easySQLQuery(const std::string& query) const
|
||||||
|
{
|
||||||
|
if (!m_db)
|
||||||
|
return;
|
||||||
sqlite3_stmt* stmt = NULL;
|
sqlite3_stmt* stmt = NULL;
|
||||||
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
||||||
if (ret == SQLITE_OK)
|
if (ret == SQLITE_OK)
|
||||||
@ -845,16 +771,17 @@ void ServerLobby::cleanupDatabase()
|
|||||||
if (ret != SQLITE_OK)
|
if (ret != SQLITE_OK)
|
||||||
{
|
{
|
||||||
Log::error("ServerLobby",
|
Log::error("ServerLobby",
|
||||||
"Error finalize database for query %s: %s",
|
"Error finalize database for easy query %s: %s",
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
query.c_str(), sqlite3_errmsg(m_db));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
Log::error("ServerLobby",
|
||||||
|
"Error preparing database for easy query %s: %s",
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
query.c_str(), sqlite3_errmsg(m_db));
|
||||||
}
|
}
|
||||||
} // cleanupDatabase
|
} // easySQLQuery
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -2523,25 +2450,7 @@ void ServerLobby::saveIPBanTable(const TransportAddress& addr)
|
|||||||
"INSERT INTO %s (ip_start, ip_end) "
|
"INSERT INTO %s (ip_start, ip_end) "
|
||||||
"VALUES (%u, %u);",
|
"VALUES (%u, %u);",
|
||||||
ServerConfig::m_ip_ban_table.c_str(), addr.getIP(), addr.getIP());
|
ServerConfig::m_ip_ban_table.c_str(), addr.getIP(), addr.getIP());
|
||||||
|
easySQLQuery(query);
|
||||||
sqlite3_stmt* stmt = NULL;
|
|
||||||
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
} // saveIPBanTable
|
} // saveIPBanTable
|
||||||
|
|
||||||
@ -2897,25 +2806,7 @@ void ServerLobby::handleUnencryptedConnection(std::shared_ptr<STKPeer> peer,
|
|||||||
StringUtils::wideToUtf8(
|
StringUtils::wideToUtf8(
|
||||||
peer->getPlayerProfiles()[0]->getName()).c_str(), player_count,
|
peer->getPlayerProfiles()[0]->getName()).c_str(), player_count,
|
||||||
peer->getUserVersion().c_str(), peer->getAveragePing());
|
peer->getUserVersion().c_str(), peer->getAveragePing());
|
||||||
|
easySQLQuery(query);
|
||||||
sqlite3_stmt* stmt = NULL;
|
|
||||||
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby", "Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
} // handleUnencryptedConnection
|
} // handleUnencryptedConnection
|
||||||
|
|
||||||
@ -3735,24 +3626,7 @@ void ServerLobby::testBannedForIP(STKPeer* peer) const
|
|||||||
"last_trigger = datetime('now') "
|
"last_trigger = datetime('now') "
|
||||||
"WHERE ip_start = %u AND ip_end = %u;",
|
"WHERE ip_start = %u AND ip_end = %u;",
|
||||||
ServerConfig::m_ip_ban_table.c_str(), ip_start, ip_end);
|
ServerConfig::m_ip_ban_table.c_str(), ip_start, ip_end);
|
||||||
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
easySQLQuery(query);
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} // testBannedForIP
|
} // testBannedForIP
|
||||||
@ -3811,24 +3685,7 @@ void ServerLobby::testBannedForOnlineId(STKPeer* peer,
|
|||||||
"last_trigger = datetime('now') "
|
"last_trigger = datetime('now') "
|
||||||
"WHERE online_id = %u;",
|
"WHERE online_id = %u;",
|
||||||
ServerConfig::m_online_id_ban_table.c_str(), online_id);
|
ServerConfig::m_online_id_ban_table.c_str(), online_id);
|
||||||
int ret = sqlite3_prepare_v2(m_db, query.c_str(), -1, &stmt, 0);
|
easySQLQuery(query);
|
||||||
if (ret == SQLITE_OK)
|
|
||||||
{
|
|
||||||
ret = sqlite3_step(stmt);
|
|
||||||
ret = sqlite3_finalize(stmt);
|
|
||||||
if (ret != SQLITE_OK)
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error finalize database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Log::error("ServerLobby",
|
|
||||||
"Error preparing database for query %s: %s",
|
|
||||||
query.c_str(), sqlite3_errmsg(m_db));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} // testBannedForOnlineId
|
} // testBannedForOnlineId
|
||||||
|
@ -82,6 +82,8 @@ private:
|
|||||||
uint64_t m_last_cleanup_db_time;
|
uint64_t m_last_cleanup_db_time;
|
||||||
|
|
||||||
void cleanupDatabase();
|
void cleanupDatabase();
|
||||||
|
|
||||||
|
void easySQLQuery(const std::string& query) const;
|
||||||
#endif
|
#endif
|
||||||
void initDatabase();
|
void initDatabase();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user