From 6582e90499423d1e0759314b7bfe87b69f6e906a Mon Sep 17 00:00:00 2001 From: Fate-JH Date: Sun, 8 Oct 2023 12:52:19 -0400 Subject: [PATCH] no WHERE clause in trigger; moved that into called function body --- .../resources/db/migration/V008__Scoring.sql | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/server/src/main/resources/db/migration/V008__Scoring.sql b/server/src/main/resources/db/migration/V008__Scoring.sql index ca512a9d..040e6231 100644 --- a/server/src/main/resources/db/migration/V008__Scoring.sql +++ b/server/src/main/resources/db/migration/V008__Scoring.sql @@ -381,17 +381,19 @@ DECLARE avatarId Int; DECLARE sessionId Int; DECLARE oldSessionId Int; BEGIN - avatarId := NEW.avatar_logged_in; - oldSessionId := proc_sessionnumber_test(avatarId); - sessionId := proc_sessionnumber_initAndOrIncreasePerHour(avatarId); - IF (sessionId > oldSessionId) THEN - BEGIN - UPDATE account - SET session_id = sessionId - WHERE id = OLD.id; - INSERT INTO kdasession (avatar_id, session_id) - VALUES (avatarId, sessionId); - END; + IF (OLD.avatar_logged_in = 0 AND NEW.avatar_logged_in > 0) THEN + avatarId := NEW.avatar_logged_in; + oldSessionId := proc_sessionnumber_test(avatarId); + sessionId := proc_sessionnumber_initAndOrIncreasePerHour(avatarId); + IF (sessionId > oldSessionId) THEN + BEGIN + UPDATE account + SET session_id = sessionId + WHERE id = OLD.id; + INSERT INTO kdasession (avatar_id, session_id) + VALUES (avatarId, sessionId); + END; + END IF; END IF; RETURN NEW; END; @@ -401,7 +403,6 @@ CREATE TRIGGER psf_account_newSession AFTER UPDATE ON account FOR EACH ROW -WHEN (OLD.avatar_logged_in = 0 AND NEW.avatar_logged_in > 0) EXECUTE FUNCTION fn_account_newSession(); /*