From 7db58f7d93eafe23509f80afd37a71ba8d810d11 Mon Sep 17 00:00:00 2001 From: qixuancao Date: Fri, 30 Oct 2026 07:31:46 +0800 Subject: [PATCH] [db] Move get_long from DB_BASE to DB_CONN Move arbitrary scalar integer queries to DB_CONN alongside get_double. Update DB_BASE::max_id and DB_BASE::count to use their connection, keeping their public behavior and the scalar conversion unchanged. Refs: #6972 Assisted-by: Codex:gpt-6-astra --- db/db_base.cpp | 10 +++++----- db/db_base.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/db/db_base.cpp b/db/db_base.cpp index 4a93fc8cbe1..a64e617059a 100644 --- a/db/db_base.cpp +++ b/db/db_base.cpp @@ -332,7 +332,7 @@ int DB_BASE::get_field_str(const char* field, char* buf, int buflen) { int DB_BASE::max_id(DB_ID_TYPE& n, const char* clause) { char query[MAX_QUERY_LEN]; sprintf(query, "select max(id) from %s %s", table_name, clause); - return get_long(query, n); + return db->get_long(query, n); } /////////////// FUNCTIONS THAT DON'T REQUIRE AN ID FIELD /////////////// @@ -415,14 +415,14 @@ int DB_BASE::end_enumerate() { return 0; } -int DB_BASE::get_long(const char* query, long& n) { +int DB_CONN::get_long(const char* query, long& n) { int retval; MYSQL_ROW row; MYSQL_RES* resp; - retval = db->do_query(query); + retval = do_query(query); if (retval) return retval; - resp = mysql_store_result(db->mysql); + resp = mysql_store_result(mysql); if (!resp) return ERR_DB_NOT_FOUND; row = mysql_fetch_row(resp); if (!row || !row[0]) { @@ -458,7 +458,7 @@ int DB_BASE::count(long& n, const char* clause) { sprintf(query, "select count(*) from %s %s", table_name, clause); - return get_long(query, n); + return db->get_long(query, n); } int DB_BASE::sum(double& x, const char* field, const char* clause) { diff --git a/db/db_base.h b/db/db_base.h index 6af3a4330e0..c3d74be7446 100644 --- a/db/db_base.h +++ b/db/db_base.h @@ -79,6 +79,7 @@ class DB_CONN { int rollback_transaction(); int commit_transaction(); int get_double(const char* query, double&); + int get_long(const char* query, long&); MYSQL* mysql; }; @@ -106,7 +107,6 @@ class DB_BASE { int count(long&, const char* clause=""); int max_id(DB_ID_TYPE&, const char* clause=""); int sum(double&, const char* field, const char* clause=""); - int get_long(const char* query, long&); int affected_rows(); DB_CONN* db;