summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2024-03-19 12:41:23 +0200
committerGitHub <noreply@github.com>2024-03-19 12:41:23 +0200
commit3245ee590f0591320cac54d35715b9208d98d17d (patch)
treee81c46a6d5196c6f2c5f57a67f8d4e74f1945005
parent9d76a167f8d3a53ad03a59b5e3a873273bad5e8e (diff)
Handle agents will wrong alert_hash table definition (#17197)
Redo migration to handle agents will wrong alert_hash table definition
-rw-r--r--src/database/sqlite/sqlite_db_migration.c19
-rw-r--r--src/database/sqlite/sqlite_metadata.c2
2 files changed, 20 insertions, 1 deletions
diff --git a/src/database/sqlite/sqlite_db_migration.c b/src/database/sqlite/sqlite_db_migration.c
index 6fd7f6ad65..0131c4bf6b 100644
--- a/src/database/sqlite/sqlite_db_migration.c
+++ b/src/database/sqlite/sqlite_db_migration.c
@@ -161,6 +161,16 @@ const char *database_migrate_v16_v17[] = {
NULL
};
+// Note: Same as database_migrate_v16_v17. This is not wrong
+// Do additional migration to handle agents that created wrong alert_hash table
+const char *database_migrate_v17_v18[] = {
+ "ALTER TABLE alert_hash ADD time_group_condition INT",
+ "ALTER TABLE alert_hash ADD time_group_value DOUBLE",
+ "ALTER TABLE alert_hash ADD dims_group INT",
+ "ALTER TABLE alert_hash ADD data_source INT",
+ NULL
+};
+
static int do_migration_v1_v2(sqlite3 *database)
{
@@ -447,6 +457,14 @@ static int do_migration_v16_v17(sqlite3 *database)
return 0;
}
+static int do_migration_v17_v18(sqlite3 *database)
+{
+ if (table_exists_in_database(database, "alert_hash") && !column_exists_in_table(database, "alert_hash", "time_group_condition"))
+ return init_database_batch(database, &database_migrate_v17_v18[0], "meta_migrate");
+
+ return 0;
+}
+
static int do_migration_v12_v13(sqlite3 *database)
{
@@ -546,6 +564,7 @@ DATABASE_FUNC_MIGRATION_LIST migration_action[] = {
{.name = "v14 to v15", .func = do_migration_v14_v15},
{.name = "v15 to v16", .func = do_migration_v15_v16},
{.name = "v16 to v17", .func = do_migration_v16_v17},
+ {.name = "v17 to v18", .func = do_migration_v17_v18},
// the terminator of this array
{.name = NULL, .func = NULL}
};
diff --git a/src/database/sqlite/sqlite_metadata.c b/src/database/sqlite/sqlite_metadata.c
index b97f0ebae8..86ecee1f68 100644
--- a/src/database/sqlite/sqlite_metadata.c
+++ b/src/database/sqlite/sqlite_metadata.c
@@ -4,7 +4,7 @@
#include "sqlite3recover.h"
//#include "sqlite_db_migration.h"
-#define DB_METADATA_VERSION 17
+#define DB_METADATA_VERSION 18
const char *database_config[] = {
"CREATE TABLE IF NOT EXISTS host(host_id BLOB PRIMARY KEY, hostname TEXT NOT NULL, "