X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fhelpers%2FDomainsDatabaseHelper.cpp;h=6ed871647cf7e4b62821a3d260e1b8ef707bbc09;hb=34816101e23ae2b489d64d540534125cf2c2e925;hp=5b6c4faa4caa8e78227be1dd8e691c94851b7c66;hpb=27ddfe8833b1ebaf499755135aa5cbfc72acb802;p=PrivacyBrowserPC.git diff --git a/src/helpers/DomainsDatabaseHelper.cpp b/src/helpers/DomainsDatabaseHelper.cpp index 5b6c4fa..6ed8716 100644 --- a/src/helpers/DomainsDatabaseHelper.cpp +++ b/src/helpers/DomainsDatabaseHelper.cpp @@ -26,12 +26,13 @@ const QString DomainsDatabaseHelper::CONNECTION_NAME = "domains_database"; const QString DomainsDatabaseHelper::DOMAINS_TABLE = "domains"; // Define the private static schema constants. -const int DomainsDatabaseHelper::SCHEMA_VERSION = 3; +const int DomainsDatabaseHelper::SCHEMA_VERSION = 4; // Define the public static database field names. const QString DomainsDatabaseHelper::_ID = "_id"; const QString DomainsDatabaseHelper::DOMAIN_NAME = "domain_name"; const QString DomainsDatabaseHelper::JAVASCRIPT = "javascript"; +const QString DomainsDatabaseHelper::LOCAL_STORAGE = "local_storage"; const QString DomainsDatabaseHelper::USER_AGENT = "user_agent"; const QString DomainsDatabaseHelper::ZOOM_FACTOR = "zoom_factor"; const QString DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR = "custom_zoom_factor"; @@ -68,20 +69,17 @@ void DomainsDatabaseHelper::addDatabase() // Run schema update code. switch (currentSchemaVersion) { - // Upgrade from schema version 0. + // Upgrade from schema version 0 to schema version 1. case 0: { // Add the JavaScript column. domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + JAVASCRIPT + " INTEGER DEFAULT 0"); - // Set the default value. - domainsDatabase.exec("UPDATE " + DOMAINS_TABLE + " SET " + JAVASCRIPT + " = 0" ); - // Fallthrough to the next case. [[fallthrough]]; } - // Upgrade from schema version 1. + // Upgrade from schema version 1 to schema version 2. case 1: { // Add the User Agent column. @@ -91,13 +89,21 @@ void DomainsDatabaseHelper::addDatabase() [[fallthrough]]; } - // Upgrade from schema version 2. + // Upgrade from schema version 2 to schema version 3. case 2: { // Add the Zoom Factor columns. domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + ZOOM_FACTOR + " INTEGER DEFAULT 0"); domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + CUSTOM_ZOOM_FACTOR + " REAL DEFAULT 1.0"); + + // Fallthrough to the next case. + [[fallthrough]]; } + + // Upgrade from schema version 3 to schema version 4. + case 3: + // Add the Local Storage column. + domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + LOCAL_STORAGE + " INTEGER DEFAULT 0"); } // Update the schema version. @@ -114,6 +120,7 @@ void DomainsDatabaseHelper::addDatabase() _ID + " INTEGER PRIMARY KEY, " + DOMAIN_NAME + " TEXT, " + JAVASCRIPT + " INTEGER DEFAULT 0, " + + LOCAL_STORAGE + " INTEGER DEFAULT 0, " + USER_AGENT + " TEXT DEFAULT '" + UserAgentHelper::SYSTEM_DEFAULT_DATABASE + "', " + ZOOM_FACTOR + " INTEGER DEFAULT 0, " + CUSTOM_ZOOM_FACTOR + " REAL DEFAULT 1.0)"