From ccf50ba484b592207cf98449486b4dde0b4d28d3 Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.Silence@gmail.com> Date: Sat, 23 Aug 2014 17:04:14 +0400 Subject: [PATCH] fix #4 --- db/StoredProcedures.sql | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index a2d93d3c4..aa24f2c2b 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -129,10 +129,23 @@ CREATE FUNCTION `SetBitmaskByPagename` ( `Pagename` TEXT CHARSET utf8, ) RETURNS int(11) NO SQL BEGIN - UPDATE `page_access` - SET page_access.Bitmask = Mask + DECLARE checker INT; + SELECT page_access.ID + INTO checker + FROM `page_access` WHERE page_access.Pagename = Pagename LIMIT 1; + + IF checker > 0 THEN + UPDATE `page_access` + SET page_access.Bitmask = Mask + WHERE page_access.Pagename = Pagename + LIMIT 1; + ELSE + INSERT INTO `page_access` (page_access.Pagename, page_access.Bitmask) + VALUES (Pagename, Mask); + + END IF; RETURN 0; END // -- GitLab