diff options
author | Emmanuel Vasilakis <mrzammler@mm.st> | 2023-09-26 12:52:19 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-26 12:52:19 +0300 |
commit | ce06ace57d195c28d329bd77cfcbd2ab54d82d71 (patch) | |
tree | 842d4193baead38e989a4c9cd91cd1b24cc051e1 /database | |
parent | 7247a5a3a7c8c470843de63dd6a7cde0826b4c59 (diff) |
Fix summary field in table (#16050)
fix summary field in table
Diffstat (limited to 'database')
-rw-r--r-- | database/sqlite/sqlite_db_migration.c | 30 | ||||
-rw-r--r-- | database/sqlite/sqlite_functions.c | 2 |
2 files changed, 30 insertions, 2 deletions
diff --git a/database/sqlite/sqlite_db_migration.c b/database/sqlite/sqlite_db_migration.c index d1cf3a9256..a0815d4feb 100644 --- a/database/sqlite/sqlite_db_migration.c +++ b/database/sqlite/sqlite_db_migration.c @@ -94,6 +94,16 @@ const char *database_migrate_v11_v12[] = { NULL }; +const char *database_migrate_v12_v13_detail[] = { + "ALTER TABLE health_log_detail ADD summary TEXT;", + NULL +}; + +const char *database_migrate_v12_v13_hash[] = { + "ALTER TABLE alert_hash ADD summary TEXT;", + NULL +}; + static int do_migration_v1_v2(sqlite3 *database, const char *name) { UNUSED(name); @@ -250,7 +260,7 @@ static int do_migration_v8_v9(sqlite3 *database, const char *name) "updated_by_id int, updates_id int, when_key int, duration int, non_clear_duration int, " \ "flags int, exec_run_timestamp int, delay_up_to_timestamp int, " \ "info text, exec_code int, new_status real, old_status real, delay int, " \ - "new_value double, old_value double, last_repeat int, transition_id blob, global_id int, host_id blob);"); + "new_value double, old_value double, last_repeat int, transition_id blob, global_id int, summary text, host_id blob);"); sqlite3_exec_monitored(database, sql, 0, 0, NULL); snprintfz(sql, 2047, "CREATE INDEX IF NOT EXISTS health_log_d_ind_1 ON health_log_detail (unique_id);"); @@ -338,6 +348,23 @@ static int do_migration_v11_v12(sqlite3 *database, const char *name) return rc; } +static int do_migration_v12_v13(sqlite3 *database, const char *name) +{ + int rc = 0; + + netdata_log_info("Running \"%s\" database migration", name); + + if (table_exists_in_database("health_log_detail") && !column_exists_in_table("health_log_detail", "summary")) { + rc = init_database_batch(database, &database_migrate_v12_v13_detail[0]); + sqlite3_exec_monitored(database, MIGR_11_12_UPD_HEALTH_LOG_DETAIL, 0, 0, NULL); + } + + if (table_exists_in_database("alert_hash") && !column_exists_in_table("alert_hash", "summary")) + rc = init_database_batch(database, &database_migrate_v12_v13_hash[0]); + + return rc; +} + static int do_migration_noop(sqlite3 *database, const char *name) { UNUSED(database); @@ -393,6 +420,7 @@ DATABASE_FUNC_MIGRATION_LIST migration_action[] = { {.name = "v9 to v10", .func = do_migration_v9_v10}, {.name = "v10 to v11", .func = do_migration_v10_v11}, {.name = "v11 to v12", .func = do_migration_v11_v12}, + {.name = "v12 to v13", .func = do_migration_v12_v13}, // the terminator of this array {.name = NULL, .func = NULL} }; diff --git a/database/sqlite/sqlite_functions.c b/database/sqlite/sqlite_functions.c index 03f876aec0..dd224045b7 100644 --- a/database/sqlite/sqlite_functions.c +++ b/database/sqlite/sqlite_functions.c @@ -4,7 +4,7 @@ #include "sqlite3recover.h" #include "sqlite_db_migration.h" -#define DB_METADATA_VERSION 12 +#define DB_METADATA_VERSION 13 const char *database_config[] = { "CREATE TABLE IF NOT EXISTS host(host_id BLOB PRIMARY KEY, hostname TEXT NOT NULL, " |