no WHERE clause in trigger; moved that into called function body

This commit is contained in:
Fate-JH 2023-10-08 12:52:19 -04:00
parent 7a5319b062
commit 6582e90499

View file

@ -381,17 +381,19 @@ DECLARE avatarId Int;
DECLARE sessionId Int; DECLARE sessionId Int;
DECLARE oldSessionId Int; DECLARE oldSessionId Int;
BEGIN BEGIN
avatarId := NEW.avatar_logged_in; IF (OLD.avatar_logged_in = 0 AND NEW.avatar_logged_in > 0) THEN
oldSessionId := proc_sessionnumber_test(avatarId); avatarId := NEW.avatar_logged_in;
sessionId := proc_sessionnumber_initAndOrIncreasePerHour(avatarId); oldSessionId := proc_sessionnumber_test(avatarId);
IF (sessionId > oldSessionId) THEN sessionId := proc_sessionnumber_initAndOrIncreasePerHour(avatarId);
BEGIN IF (sessionId > oldSessionId) THEN
UPDATE account BEGIN
SET session_id = sessionId UPDATE account
WHERE id = OLD.id; SET session_id = sessionId
INSERT INTO kdasession (avatar_id, session_id) WHERE id = OLD.id;
VALUES (avatarId, sessionId); INSERT INTO kdasession (avatar_id, session_id)
END; VALUES (avatarId, sessionId);
END;
END IF;
END IF; END IF;
RETURN NEW; RETURN NEW;
END; END;
@ -401,7 +403,6 @@ CREATE TRIGGER psf_account_newSession
AFTER UPDATE AFTER UPDATE
ON account ON account
FOR EACH ROW FOR EACH ROW
WHEN (OLD.avatar_logged_in = 0 AND NEW.avatar_logged_in > 0)
EXECUTE FUNCTION fn_account_newSession(); EXECUTE FUNCTION fn_account_newSession();
/* /*