]> granicus.if.org Git - icinga2/commitdiff
Move the ClearConfigTables function into the DbConnection class.
authorGunnar Beutner <gunnar.beutner@netways.de>
Tue, 28 Jan 2014 10:09:13 +0000 (11:09 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Tue, 4 Feb 2014 08:19:11 +0000 (09:19 +0100)
Refs #5565

components/db_ido_mysql/idomysqlconnection.cpp
components/db_ido_mysql/idomysqlconnection.h
components/db_ido_pgsql/idopgsqlconnection.cpp
components/db_ido_pgsql/idopgsqlconnection.h
lib/db_ido/dbconnection.cpp
lib/db_ido/dbconnection.h

index 58105d1becd60b6f2eb6aa45adc59fbc4710cbe8..919eb7fa298ce835ce5b5a5d6dc24a35d7d1006d 100644 (file)
@@ -233,40 +233,6 @@ void IdoMysqlConnection::Reconnect(void)
        UpdateAllObjects();
 }
 
-void IdoMysqlConnection::ClearConfigTables(void)
-{
-       /* TODO make hardcoded table names modular */
-       ClearConfigTable("commands");
-       ClearConfigTable("comments");
-       ClearConfigTable("contact_addresses");
-       ClearConfigTable("contact_notificationcommands");
-       ClearConfigTable("contactgroup_members");
-       ClearConfigTable("contactgroups");
-       ClearConfigTable("contacts");
-       ClearConfigTable("contactstatus");
-       ClearConfigTable("customvariables");
-       ClearConfigTable("customvariablestatus");
-       ClearConfigTable("host_contactgroups");
-       ClearConfigTable("host_contacts");
-       ClearConfigTable("host_parenthosts");
-       ClearConfigTable("hostdependencies");
-       ClearConfigTable("hostgroup_members");
-       ClearConfigTable("hostgroups");
-       ClearConfigTable("hosts");
-       ClearConfigTable("hoststatus");
-       ClearConfigTable("programstatus");
-       ClearConfigTable("scheduleddowntime");
-       ClearConfigTable("service_contactgroups");
-       ClearConfigTable("service_contacts");
-       ClearConfigTable("servicedependencies");
-       ClearConfigTable("servicegroup_members");
-       ClearConfigTable("servicegroups");
-       ClearConfigTable("services");
-       ClearConfigTable("servicestatus");
-       ClearConfigTable("timeperiod_timeranges");
-       ClearConfigTable("timeperiods");
-}
-
 void IdoMysqlConnection::ClearConfigTable(const String& table)
 {
        Query("DELETE FROM " + GetTablePrefix() + table + " WHERE instance_id = " + Convert::ToString(static_cast<long>(m_InstanceID)));
index 1100ebc59acb6f6a6e4c2819a2ee8ca1eb854da2..52aeb4a84dfcdd4d5910a87ccc9ffaea9e3594e4 100644 (file)
@@ -83,8 +83,7 @@ private:
        void InternalExecuteQuery(const DbQuery& query);
        void InternalCleanUpExecuteQuery(const String& table, const String& time_key, double time_value);
 
-       void ClearConfigTables(void);
-       void ClearConfigTable(const String& table);
+       virtual void ClearConfigTable(const String& table);
 
        void ExceptionHandler(boost::exception_ptr exp);
 };
index 21b94a4b37fe5fbecc9693f8359910c9a5e20402..2013bccd62c3dc2c4d4d8d4b13c4f7c3e150cfa4 100644 (file)
@@ -236,40 +236,6 @@ void IdoPgsqlConnection::Reconnect(void)
        UpdateAllObjects();
 }
 
-void IdoPgsqlConnection::ClearConfigTables(void)
-{
-       /* TODO make hardcoded table names modular */
-       ClearConfigTable("commands");
-       ClearConfigTable("comments");
-       ClearConfigTable("contact_addresses");
-       ClearConfigTable("contact_notificationcommands");
-       ClearConfigTable("contactgroup_members");
-       ClearConfigTable("contactgroups");
-       ClearConfigTable("contacts");
-       ClearConfigTable("contactstatus");
-       ClearConfigTable("customvariables");
-       ClearConfigTable("customvariablestatus");
-       ClearConfigTable("host_contactgroups");
-       ClearConfigTable("host_contacts");
-       ClearConfigTable("host_parenthosts");
-       ClearConfigTable("hostdependencies");
-       ClearConfigTable("hostgroup_members");
-       ClearConfigTable("hostgroups");
-       ClearConfigTable("hosts");
-       ClearConfigTable("hoststatus");
-       ClearConfigTable("programstatus");
-       ClearConfigTable("scheduleddowntime");
-       ClearConfigTable("service_contactgroups");
-       ClearConfigTable("service_contacts");
-       ClearConfigTable("servicedependencies");
-       ClearConfigTable("servicegroup_members");
-       ClearConfigTable("servicegroups");
-       ClearConfigTable("services");
-       ClearConfigTable("servicestatus");
-       ClearConfigTable("timeperiod_timeranges");
-       ClearConfigTable("timeperiods");
-}
-
 void IdoPgsqlConnection::ClearConfigTable(const String& table)
 {
        Query("DELETE FROM " + GetTablePrefix() + table + " WHERE instance_id = " + Convert::ToString(static_cast<long>(m_InstanceID)));
index 16410f101778a6c34d5e2e89d8eb83d66edd88d1..7a004673837d630ea62013898df4dacb328cf5e1 100644 (file)
@@ -81,8 +81,7 @@ private:
        void InternalExecuteQuery(const DbQuery& query);
        void InternalCleanUpExecuteQuery(const String& table, const String& time_key, double time_value);
 
-       void ClearConfigTables(void);
-       void ClearConfigTable(const String& table);
+       virtual void ClearConfigTable(const String& table);
 
        void ExceptionHandler(boost::exception_ptr exp);
 };
index 41d8171a1ee417dac6ae01e29f5517444c25a966..4b5b5a9959a165f8d30fb1c09c0a5b90103d2ce2 100644 (file)
@@ -292,3 +292,37 @@ void DbConnection::UpdateAllObjects(void)
                }
        }
 }
+
+void DbConnection::ClearConfigTables(void)
+{
+       /* TODO make hardcoded table names modular */
+       ClearConfigTable("commands");
+       ClearConfigTable("comments");
+       ClearConfigTable("contact_addresses");
+       ClearConfigTable("contact_notificationcommands");
+       ClearConfigTable("contactgroup_members");
+       ClearConfigTable("contactgroups");
+       ClearConfigTable("contacts");
+       ClearConfigTable("contactstatus");
+       ClearConfigTable("customvariables");
+       ClearConfigTable("customvariablestatus");
+       ClearConfigTable("host_contactgroups");
+       ClearConfigTable("host_contacts");
+       ClearConfigTable("host_parenthosts");
+       ClearConfigTable("hostdependencies");
+       ClearConfigTable("hostgroup_members");
+       ClearConfigTable("hostgroups");
+       ClearConfigTable("hosts");
+       ClearConfigTable("hoststatus");
+       ClearConfigTable("programstatus");
+       ClearConfigTable("scheduleddowntime");
+       ClearConfigTable("service_contactgroups");
+       ClearConfigTable("service_contacts");
+       ClearConfigTable("servicedependencies");
+       ClearConfigTable("servicegroup_members");
+       ClearConfigTable("servicegroups");
+       ClearConfigTable("services");
+       ClearConfigTable("servicestatus");
+       ClearConfigTable("timeperiod_timeranges");
+       ClearConfigTable("timeperiods");
+}
index 85e9842c262aec085986ee67cf52d6751a469245..0aa88eae75fac652c00adf36e3cd68592daa800d 100644 (file)
@@ -72,6 +72,8 @@ protected:
 
        void UpdateAllObjects(void);
 
+       void ClearConfigTables(void);
+
 private:
        std::map<DbObject::Ptr, DbReference> m_ObjectIDs;
        std::map<DbObject::Ptr, DbReference> m_InsertIDs;
@@ -83,6 +85,8 @@ private:
 
        void CleanUpHandler(void);
 
+       virtual void ClearConfigTable(const String& table) = 0;
+
        static Timer::Ptr m_ProgramStatusTimer;
 
        static void InsertRuntimeVariable(const String& key, const Value& value);