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