@@ -109,9 +109,9 @@ void ProxySQL_Admin::p_stats___memory_metrics() {
109109 this ->metrics .p_gauge_array [p_admin_gauge::connpool_memory_bytes]->Set (connpool_mem);
110110
111111 // proxysql_sqlite3_memory_bytes metric
112- int highwater = 0 ;
113- int current = 0 ;
114- (*proxy_sqlite3_status )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
112+ long long highwater = 0 ;
113+ long long current = 0 ;
114+ (*proxy_sqlite3_status64 )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
115115 this ->metrics .p_gauge_array [p_admin_gauge::sqlite3_memory_bytes]->Set (current);
116116
117117 // proxysql_jemalloc_* memory metrics
@@ -206,8 +206,8 @@ void ProxySQL_Admin::stats___memory_metrics() {
206206 if (!GloMTH) return ;
207207 SQLite3_result * resultset = NULL ;
208208
209- int highwater;
210- int current;
209+ long long highwater = 0 ;
210+ long long current = 0 ;
211211 char bu[32 ];
212212 char *vn=NULL ;
213213 char *query=NULL ;
@@ -218,9 +218,9 @@ void ProxySQL_Admin::stats___memory_metrics() {
218218 delete resultset;
219219 resultset=NULL ;
220220 }
221- (*proxy_sqlite3_status )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
221+ (*proxy_sqlite3_status64 )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
222222 vn=(char *)" SQLite3_memory_bytes" ;
223- sprintf (bu," %d " ,current);
223+ sprintf (bu," %lld " ,current);
224224 query=(char *)malloc (strlen (a)+strlen (vn)+strlen (bu)+16 );
225225 sprintf (query,a,vn,bu);
226226 statsdb->execute (query);
@@ -492,6 +492,8 @@ const void sqlite3_global_stats_row_step(
492492 sprintf (buf, " %lu" , val);
493493 } else if constexpr (std::is_same_v<T, unsigned long long >) {
494494 sprintf (buf, " %llu" , val);
495+ } else if constexpr (std::is_same_v<T, long long >) {
496+ sprintf (buf, " %lld" , val);
495497 } else if constexpr (std::is_same_v<T, bool >) {
496498 sprintf (buf, " %s" , val ? " true" : " false" );
497499 } else {
@@ -521,12 +523,17 @@ void ProxySQL_Admin::stats___mysql_global() {
521523 " INSERT INTO stats_mysql_global VALUES " + generate_multi_rows_query (32 , 2 )
522524 };
523525
524- sqlite3_stmt* row_stmt = nullptr ;
525- int rc = statsdb->prepare_v2 (q_row_insert.c_str (), &row_stmt);
526+ int rc = 0 ;
527+
528+ stmt_unique_ptr u_row_stmt { nullptr };
529+ std::tie (rc, u_row_stmt) = statsdb->prepare_v2 (q_row_insert.c_str ());
526530 ASSERT_SQLITE_OK (rc, statsdb);
527- sqlite3_stmt* bulk_stmt = nullptr ;
528- rc = statsdb->prepare_v2 (q_bulk_insert.c_str (), &bulk_stmt);
531+ sqlite3_stmt* const row_stmt { u_row_stmt.get () };
532+
533+ stmt_unique_ptr u_bulk_stmt { nullptr };
534+ std::tie (rc, u_bulk_stmt) = statsdb->prepare_v2 (q_bulk_insert.c_str ());
529535 ASSERT_SQLITE_OK (rc, statsdb);
536+ sqlite3_stmt* const bulk_stmt { u_bulk_stmt.get () };
530537
531538 sqlite3_bulk_step (statsdb, row_stmt, bulk_stmt, resultset, stats_mysql_global___bind_row);
532539
@@ -542,8 +549,8 @@ void ProxySQL_Admin::stats___mysql_global() {
542549 }
543550
544551 {
545- int highwater, current = 0 ;
546- (*proxy_sqlite3_status )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
552+ long long highwater, current = 0 ;
553+ (*proxy_sqlite3_status64 )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
547554 sqlite3_global_stats_row_step (statsdb, row_stmt, " SQLite3_memory_bytes" , current);
548555 }
549556
@@ -647,14 +654,14 @@ void ProxySQL_Admin::stats___pgsql_global() {
647654 resultset = NULL ;
648655 }
649656
650- int highwater;
651- int current;
652- (*proxy_sqlite3_status )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
657+ long long highwater = 0 ;
658+ long long current = 0 ;
659+ (*proxy_sqlite3_status64 )(SQLITE_STATUS_MEMORY_USED, ¤t, &highwater, 0 );
653660 char bu[32 ];
654661 char * vn = NULL ;
655662 char * query = NULL ;
656663 vn = (char *)" SQLite3_memory_bytes" ;
657- sprintf (bu, " %d " , current);
664+ sprintf (bu, " %lld " , current);
658665 query = (char *)malloc (strlen (a) + strlen (vn) + strlen (bu) + 16 );
659666 sprintf (query, a, vn, bu);
660667 statsdb->execute (query);
0 commit comments