--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/schemas/_regproc.mysql.sql Fri Nov 27 15:43:45 2009 +0100
@@ -0,0 +1,22 @@
+/* -*- sql -*-
+
+ mysql specific registered procedures,
+
+*/
+
+/* XXX limit_size version dealing with format as postgres version does.
+ XXX mysql doesn't support overloading, each function should have a different name
+
+ NOTE: fulltext renamed since it cause a mysql name conflict
+ */
+
+CREATE FUNCTION text_limit_size(vfulltext TEXT, maxsize INT)
+RETURNS TEXT
+NO SQL
+BEGIN
+ IF LENGTH(vfulltext) < maxsize THEN
+ RETURN vfulltext;
+ ELSE
+ RETURN SUBSTRING(vfulltext from 1 for maxsize) || '...';
+ END IF;
+END ;;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/schemas/_regproc.postgres.sql Fri Nov 27 15:43:45 2009 +0100
@@ -0,0 +1,47 @@
+/* -*- sql -*-
+
+ postgres specific registered procedures,
+ require the plpgsql language installed
+
+*/
+
+CREATE FUNCTION comma_join (anyarray) RETURNS text AS $$
+ SELECT array_to_string($1, ', ')
+$$ LANGUAGE SQL;;
+
+CREATE AGGREGATE group_concat (
+ basetype = anyelement,
+ sfunc = array_append,
+ stype = anyarray,
+ finalfunc = comma_join,
+ initcond = '{}'
+);;
+
+
+
+CREATE FUNCTION limit_size (fulltext text, format text, maxsize integer) RETURNS text AS $$
+DECLARE
+ plaintext text;
+BEGIN
+ IF char_length(fulltext) < maxsize THEN
+ RETURN fulltext;
+ END IF;
+ IF format = 'text/html' OR format = 'text/xhtml' OR format = 'text/xml' THEN
+ plaintext := regexp_replace(fulltext, '<[\\w/][^>]+>', '', 'g');
+ ELSE
+ plaintext := fulltext;
+ END IF;
+ IF char_length(plaintext) < maxsize THEN
+ RETURN plaintext;
+ ELSE
+ RETURN substring(plaintext from 1 for maxsize) || '...';
+ END IF;
+END
+$$ LANGUAGE plpgsql;;
+
+
+CREATE FUNCTION text_limit_size (fulltext text, maxsize integer) RETURNS text AS $$
+BEGIN
+ RETURN limit_size(fulltext, 'text/plain', maxsize);
+END
+$$ LANGUAGE plpgsql;;
--- a/schemas/_regproc.sql.mysql Fri Nov 27 10:24:13 2009 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/* -*- sql -*-
-
- mysql specific registered procedures,
-
-*/
-
-/* XXX limit_size version dealing with format as postgres version does.
- XXX mysql doesn't support overloading, each function should have a different name
-
- NOTE: fulltext renamed since it cause a mysql name conflict
- */
-
-CREATE FUNCTION text_limit_size(vfulltext TEXT, maxsize INT)
-RETURNS TEXT
-NO SQL
-BEGIN
- IF LENGTH(vfulltext) < maxsize THEN
- RETURN vfulltext;
- ELSE
- RETURN SUBSTRING(vfulltext from 1 for maxsize) || '...';
- END IF;
-END ;;
--- a/schemas/_regproc.sql.postgres Fri Nov 27 10:24:13 2009 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/* -*- sql -*-
-
- postgres specific registered procedures,
- require the plpgsql language installed
-
-*/
-
-CREATE FUNCTION comma_join (anyarray) RETURNS text AS $$
- SELECT array_to_string($1, ', ')
-$$ LANGUAGE SQL;;
-
-CREATE AGGREGATE group_concat (
- basetype = anyelement,
- sfunc = array_append,
- stype = anyarray,
- finalfunc = comma_join,
- initcond = '{}'
-);;
-
-
-
-CREATE FUNCTION limit_size (fulltext text, format text, maxsize integer) RETURNS text AS $$
-DECLARE
- plaintext text;
-BEGIN
- IF char_length(fulltext) < maxsize THEN
- RETURN fulltext;
- END IF;
- IF format = 'text/html' OR format = 'text/xhtml' OR format = 'text/xml' THEN
- plaintext := regexp_replace(fulltext, '<[\\w/][^>]+>', '', 'g');
- ELSE
- plaintext := fulltext;
- END IF;
- IF char_length(plaintext) < maxsize THEN
- RETURN plaintext;
- ELSE
- RETURN substring(plaintext from 1 for maxsize) || '...';
- END IF;
-END
-$$ LANGUAGE plpgsql;;
-
-
-CREATE FUNCTION text_limit_size (fulltext text, maxsize integer) RETURNS text AS $$
-BEGIN
- RETURN limit_size(fulltext, 'text/plain', maxsize);
-END
-$$ LANGUAGE plpgsql;;