Fix system alarm duplication issue. 28/114428/2
authorEugene Kurzberg <i.kurtsberg@samsung.com>
Mon, 13 Feb 2017 09:18:05 +0000 (11:18 +0200)
committerAleksandr Sapozhnik <a.sapozhnik@samsung.com>
Wed, 15 Feb 2017 06:30:49 +0000 (22:30 -0800)
Change-Id: I59b6dc638be0bfb17c98a6562859543fb1ddcf92
Signed-off-by: Eugene Kurzberg <i.kurtsberg@samsung.com>
alarm-svc/src/AlarmService.cpp

index 55db3f357ae58e6d312ac1d556bb0de6d12be7ec..1ae57696ece8f351640f8234de1014e839930aaf 100755 (executable)
@@ -60,22 +60,23 @@ namespace
                        "END;"
 
                "CREATE TRIGGER alarm_enabled "
-                       "AFTER UPDATE OF " COLUMN_ENABLED " ON " TABLE_ALARMS " "
-                       "WHEN new." COLUMN_ENABLED " <> 0 "
+                       "AFTER UPDATE ON " TABLE_ALARMS " "
+                       "WHEN old." COLUMN_ENABLED " <> new." COLUMN_ENABLED " AND new." COLUMN_ENABLED " <> 0 "
                        "BEGIN "
                                STATEMENT_SET_ALARM(COLUMN_ALARM_ID)
                        "END;"
 
                "CREATE TRIGGER alarm_disabled "
-                       "AFTER UPDATE OF " COLUMN_ENABLED " ON " TABLE_ALARMS " "
-                       "WHEN new." COLUMN_ENABLED " = 0 "
+                       "AFTER UPDATE ON " TABLE_ALARMS " "
+                       "WHEN old." COLUMN_ENABLED " <> new." COLUMN_ENABLED " AND new." COLUMN_ENABLED " = 0 "
                        "BEGIN "
                                STATEMENT_UNSET_ALARM(COLUMN_ALARM_ID)
                        "END;"
 
                "CREATE TRIGGER alarm_updated "
-                       "AFTER UPDATE OF " COLUMN_DATE ", " COLUMN_REPEAT " ON " TABLE_ALARMS " "
+                       "AFTER UPDATE ON " TABLE_ALARMS " "
                        "WHEN old." COLUMN_ENABLED " <> 0 AND new." COLUMN_ENABLED " <> 0 "
+                       "AND (old." COLUMN_DATE " <> new." COLUMN_DATE " OR old." COLUMN_REPEAT " <> new." COLUMN_REPEAT ") "
                        "BEGIN "
                                "SELECT " FUNCTION_UNSET_ALARM "(old." COLUMN_ALARM_ID ");"
                                STATEMENT_SET_ALARM(COLUMN_ALARM_ID)