schemas/_regproc.mysql.sql
author Christophe de Vienne <cdevienne@gmail.com>
Wed, 30 Apr 2014 08:07:59 +0200
changeset 9720 a7210c912507
parent 3928 2ced335a9b55
permissions -rw-r--r--
[req.find] Use vreg.schema.eschema for eschema lookup If an etype is non-existant, using vreg.schema[etype] raises a confusing error complaining about a non-existing relation. This is because of the implementation of vreg.schema.__getitem__ that look first in entities and then in relations. Using directly vreg.schema.eschema restrict the lookup to etypes only, hence raises a meaningful error when the etype does not exist.

/* -*- 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 ;;