refactor: migrate generate_pgsql_servers_table() to RAII prepare_v2

- Changed from raw pointer to smart pointer-based prepare_v2
- Use raw pointer aliases to avoid .get() verbosity
- Remove manual finalize - RAII handles cleanup automatically
pull/5357/head
Rene Cannao 2 months ago
parent 7c2c6121e5
commit 9939fe17e4

@ -918,18 +918,15 @@ int PgSQL_HostGroups_Manager::servers_add(SQLite3_result *resultset) {
}
int rc;
mydb->execute("DELETE FROM pgsql_servers_incoming");
sqlite3_stmt *statement1=NULL;
sqlite3_stmt *statement32=NULL;
//sqlite3 *mydb3=mydb->get_db();
char *query1=(char *)"INSERT INTO pgsql_servers_incoming VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11)";
std::string query32s = "INSERT INTO pgsql_servers_incoming VALUES " + generate_multi_rows_query(32,11);
char *query32 = (char *)query32s.c_str();
//rc=(*proxy_sqlite3_prepare_v2)(mydb3, query1, -1, &statement1, 0);
rc = mydb->prepare_v2(query1, &statement1);
ASSERT_SQLITE_OK(rc, mydb);
//rc=(*proxy_sqlite3_prepare_v2)(mydb3, query32, -1, &statement32, 0);
rc = mydb->prepare_v2(query32, &statement32);
ASSERT_SQLITE_OK(rc, mydb);
auto [rc1, statement1_unique] = mydb->prepare_v2(query1);
ASSERT_SQLITE_OK(rc1, mydb);
auto [rc2, statement32_unique] = mydb->prepare_v2(query32);
ASSERT_SQLITE_OK(rc2, mydb);
sqlite3_stmt *statement1 = statement1_unique.get();
sqlite3_stmt *statement32 = statement32_unique.get();
MySerStatus status1=MYSQL_SERVER_STATUS_ONLINE;
int row_idx=0;
int max_bulk_row_idx=resultset->rows_count/32;
@ -986,8 +983,6 @@ int PgSQL_HostGroups_Manager::servers_add(SQLite3_result *resultset) {
}
row_idx++;
}
(*proxy_sqlite3_finalize)(statement1);
(*proxy_sqlite3_finalize)(statement32);
return 0;
}
@ -1616,20 +1611,17 @@ void PgSQL_HostGroups_Manager::purge_pgsql_servers_table() {
void PgSQL_HostGroups_Manager::generate_pgsql_servers_table(int *_onlyhg) {
int rc;
sqlite3_stmt *statement1=NULL;
sqlite3_stmt *statement32=NULL;
PtrArray *lst=new PtrArray();
//sqlite3 *mydb3=mydb->get_db();
char *query1=(char *)"INSERT INTO pgsql_servers VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12)";
//rc=(*proxy_sqlite3_prepare_v2)(mydb3, query1, -1, &statement1, 0);
rc = mydb->prepare_v2(query1, &statement1);
ASSERT_SQLITE_OK(rc, mydb);
auto [rc1, statement1_unique] = mydb->prepare_v2(query1);
ASSERT_SQLITE_OK(rc1, mydb);
std::string query32s = "INSERT INTO pgsql_servers VALUES " + generate_multi_rows_query(32,12);
char *query32 = (char *)query32s.c_str();
//rc=(*proxy_sqlite3_prepare_v2)(mydb3, query32, -1, &statement32, 0);
rc = mydb->prepare_v2(query32, &statement32);
ASSERT_SQLITE_OK(rc, mydb);
auto [rc2, statement32_unique] = mydb->prepare_v2(query32);
ASSERT_SQLITE_OK(rc2, mydb);
sqlite3_stmt *statement1 = statement1_unique.get();
sqlite3_stmt *statement32 = statement32_unique.get();
if (pgsql_thread___hostgroup_manager_verbose) {
if (_onlyhg==NULL) {
@ -1717,8 +1709,6 @@ void PgSQL_HostGroups_Manager::generate_pgsql_servers_table(int *_onlyhg) {
rc=(*proxy_sqlite3_clear_bindings)(statement1); ASSERT_SQLITE_OK(rc, mydb);
rc=(*proxy_sqlite3_reset)(statement1); ASSERT_SQLITE_OK(rc, mydb);
}
(*proxy_sqlite3_finalize)(statement1);
(*proxy_sqlite3_finalize)(statement32);
if (pgsql_thread___hostgroup_manager_verbose) {
char *error=NULL;
int cols=0;

Loading…
Cancel
Save