MOVED DataObjects/core_enum_functions.sql to mysql/core_enum_functions.sql
authorAlan Knowles <alan@roojs.com>
Fri, 11 Oct 2013 09:28:11 +0000 (17:28 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 11 Oct 2013 09:28:11 +0000 (17:28 +0800)
mysql/core_enum_functions.sql [new file with mode: 0644]

diff --git a/mysql/core_enum_functions.sql b/mysql/core_enum_functions.sql
new file mode 100644 (file)
index 0000000..720a66c
--- /dev/null
@@ -0,0 +1,59 @@
+
+
+-- also update the pgsql version of these!?
+
+DROP FUNCTION IF EXISTS core_enum_display_name;
+DELIMITER $$
+CREATE FUNCTION core_enum_display_name(in_id INT(11))
+        RETURNS VARCHAR(256) DETERMINISTIC
+    BEGIN
+        DECLARE ret  VARCHAR(256);
+        SET ret  = '';
+        SELECT display_name INTO ret FROM core_enum
+            WHERE id=in_id LIMIT 1;
+        RETURN ret;
+    END $$
+DELIMITER ;
+
+
+
+
+
+DROP FUNCTION IF EXISTS core_enum_name;
+DELIMITER $$
+CREATE FUNCTION core_enum_name(in_id INT(11))
+        RETURNS VARCHAR(256) DETERMINISTIC
+    BEGIN
+        DECLARE ret  VARCHAR(256);
+        SET ret  = '';
+        SELECT name INTO ret FROM core_enum
+            WHERE id=in_id LIMIT 1;
+        RETURN ret;
+    END $$
+DELIMITER ;
+
+DROP FUNCTION IF EXISTS core_enum_name_to_display_name;
+DELIMITER $$
+CREATE FUNCTION core_enum_name_to_display_name(in_etype VARCHAR(256), in_name VARCHAR(256))
+        RETURNS VARCHAR(256) DETERMINISTIC
+    BEGIN
+        DECLARE ret VARCHAR(256);
+        SET ret  = '';
+        SELECT display_name INTO ret FROM core_enum
+            WHERE name=in_name AND etype=in_etype LIMIT 1;
+        RETURN ret;
+    END $$
+DELIMITER ;
+
+DROP FUNCTION IF EXISTS core_enum_id_by_name;
+DELIMITER $$
+CREATE FUNCTION core_enum_id_by_name(in_etype VARCHAR(256), in_name VARCHAR(256))
+        RETURNS INT(11) DETERMINISTIC
+    BEGIN
+        DECLARE ret  INT(11);
+        SET ret  = '';
+        SELECT id INTO ret FROM core_enum
+            WHERE name=in_name AND etype=in_etype LIMIT 1;
+        RETURN ret;
+    END $$
+DELIMITER ;
\ No newline at end of file