summaryrefslogtreecommitdiffstats
path: root/database/sqlite
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2023-10-18 17:20:00 +0300
committerGitHub <noreply@github.com>2023-10-18 17:20:00 +0300
commit9caea28bcda541558d0adf611a7f69aafed251cc (patch)
treefb035ecf81ae4f226c24a52e0a98593055289af6 /database/sqlite
parentee3db23972e92d35d8cfdbe1f0b50eb247747a31 (diff)
Reuse ML load prepared statement (#16240)
Reuse ML load prepared statement and release resources on each batch load Fix parameter to ML model load to be in seconds not usec
Diffstat (limited to 'database/sqlite')
-rw-r--r--database/sqlite/sqlite_metadata.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/database/sqlite/sqlite_metadata.c b/database/sqlite/sqlite_metadata.c
index 54f9e3bedc..f0c102d97a 100644
--- a/database/sqlite/sqlite_metadata.c
+++ b/database/sqlite/sqlite_metadata.c
@@ -1539,13 +1539,20 @@ static void start_ml_model_load(uv_work_t *req __maybe_unused)
RRDDIM *rd;
RRDDIM_ACQUIRED *rda;
internal_error(true, "Batch ML load loader, %zu items", ml_data->count);
+
+ sqlite3_stmt *ml_load_stmt = NULL;
while((PValue = JudyLFirstThenNext(ml_data->JudyL, &Index, &first))) {
UNUSED(PValue);
rda = (RRDDIM_ACQUIRED *) Index;
rd = rrddim_acquired_to_rrddim(rda);
- ml_dimension_load_models(rd);
+ ml_dimension_load_models(rd, &ml_load_stmt);
rrddim_acquired_release(rda);
}
+
+ if (ml_load_stmt) {
+ sqlite3_finalize(ml_load_stmt);
+ ml_load_stmt = NULL;
+ }
worker_is_idle();
}