From 6b66737b13adf25c32cdae957524f522cd289403 Mon Sep 17 00:00:00 2001 From: RobertPiet <70648461+RobertPiet@users.noreply.github.com> Date: Fri, 27 Nov 2020 11:38:40 +0100 Subject: [PATCH] [EGD-4354] settings starting script moved to two separated scripts (#1067) --- .../user/db/settings_v2_001.sql | 31 ++----------------- image/user/db/settings_v2_002.sql | 16 ++++++++++ module-db/Database/DatabaseInitializer.cpp | 4 +-- .../agents/settings/SettingsAgent.cpp | 8 +---- 4 files changed, 22 insertions(+), 37 deletions(-) rename module-services/service-db/agents/settings/settings.sql => image/user/db/settings_v2_001.sql (59%) create mode 100644 image/user/db/settings_v2_002.sql diff --git a/module-services/service-db/agents/settings/settings.sql b/image/user/db/settings_v2_001.sql similarity index 59% rename from module-services/service-db/agents/settings/settings.sql rename to image/user/db/settings_v2_001.sql index 655a3152551583d5490e99f53d78e2a6f6753200..9761e5309349ef351588c891b3b0d68b5ecc6dd0 100644 --- a/module-services/service-db/agents/settings/settings.sql +++ b/image/user/db/settings_v2_001.sql @@ -1,19 +1,11 @@ ---x, R"dbInitStr( -/* - * Create Settings tables - */ - - -BEGIN TRANSACTION; -- -- Main settings table, for string application persistent data -- CREATE TABLE IF NOT EXISTS settings_tab ( - path TEXT NOT NULL UNIQUE, + path TEXT NOT NULL UNIQUE PRIMARY KEY, value TEXT ); - -- -- Dictionary table, for variables with fixed set of values -- @@ -46,23 +38,6 @@ CREATE TABLE IF NOT EXISTS settings_changed_tab( UNIQUE(path ) ON CONFLICT REPLACE ); +CREATE TRIGGER IF NOT EXISTS on_update UPDATE OF value ON settings_tab +WHEN new.value <> old.value BEGIN INSERT OR REPLACE INTO settings_changed_tab (path, value) VALUES (new.path,new.value); END; -CREATE TRIGGER IF NOT EXISTS on_update UPDATE OF value ON settings_tab -WHEN new.value <> old.value - BEGIN - INSERT OR REPLACE INTO settings_changed_tab (path, value) VALUES (new.path,new.value); - END; - - - --- ----------- insert default values ---------------------- -INSERT OR REPLACE INTO dictionary_tab (path, value) VALUES - ('system/phone_mode', 'online'), - ('system/phone_mode', 'offline'), - ('system/phone_mode', 'dnd'); - -INSERT OR REPLACE INTO settings_tab (path, value) VALUES - ('system/phone_mode', 'online'); - -COMMIT TRANSACTION; --- )dbInitStr" diff --git a/image/user/db/settings_v2_002.sql b/image/user/db/settings_v2_002.sql new file mode 100644 index 0000000000000000000000000000000000000000..36eff67c0a081e49741bed36e8070701cd8ff333 --- /dev/null +++ b/image/user/db/settings_v2_002.sql @@ -0,0 +1,16 @@ +-- ----------- insert default values ---------------------- +INSERT OR REPLACE INTO dictionary_tab (path, value) VALUES + ('system/phone_mode', 'online'), + ('system/phone_mode', 'offline'), + ('system/phone_mode', 'dnd'); + +-- ----------- insert default values ------------------- +INSERT OR REPLACE INTO settings_tab (path, value) VALUES + ('system/phone_mode', 'online'), + ('timeFormat12', '0'), + ('timeDateFormat', '1'), + ('activeSim', '1'), + ('lockPassHash', '0'), + ('lockTime', '30000'), + ('displayLanguage', 'En'), + ('inputLanguage', 'En'); diff --git a/module-db/Database/DatabaseInitializer.cpp b/module-db/Database/DatabaseInitializer.cpp index c06f2072bb244ce9f37931e1ca2144b96b549e36..e3ffdd44db6d8d970dc7bdbc421b1fa7681a389c 100644 --- a/module-db/Database/DatabaseInitializer.cpp +++ b/module-db/Database/DatabaseInitializer.cpp @@ -58,8 +58,8 @@ std::vector DatabaseInitializer::readCommands(fs::path filePath) std::array DatabaseInitializer::splitFilename(std::string filename) { auto name = filename.substr(0, filename.find(".")); - auto prefix = name.substr(0, name.find("_")); - auto postfix = name.substr(name.find("_") + 1, std::string::npos); + auto prefix = name.substr(0, name.find_last_of("_")); + auto postfix = name.substr(name.find_last_of("_") + 1, std::string::npos); return {name, prefix, postfix}; } diff --git a/module-services/service-db/agents/settings/SettingsAgent.cpp b/module-services/service-db/agents/settings/SettingsAgent.cpp index 5abee62c1f94b55afd6eebf8995d152b596ee1fa..ae87aaa3fcc9e3de8eee3a6758b0b8a59ad79b00 100644 --- a/module-services/service-db/agents/settings/SettingsAgent.cpp +++ b/module-services/service-db/agents/settings/SettingsAgent.cpp @@ -24,8 +24,6 @@ SettingsAgent::SettingsAgent(sys::Service *parentService) : DatabaseAgent(parent void SettingsAgent::initDb() { - // LOG_DEBUG("sql:\n--\n%s\n--", getDbInitString().c_str()); - database->execute(getDbInitString().c_str()); auto notifications = database->query(settings::Statements::getAllNotifications); if (nullptr == notifications || 0 == notifications->getRowCount()) { return; @@ -82,11 +80,7 @@ void SettingsAgent::registerMessages() auto SettingsAgent::getDbInitString() -> const std::string { - auto x = 0; - const char *sql = ( -#include "settings.sql" - ); - return sql; + return {}; } auto SettingsAgent::getDbFilePath() -> const std::string