Prueba cambiando el CHAR por la dimensión correcta, sea cual fuere.
Suponiendo que en la tabla predeterminado tenga un tipo CHAR(50), entonces prueba la función como.
Código sql:
Ver originalCREATE FUNCTION check_template(id INT) RETURNS CHAR(50)
BEGIN
DECLARE tema CHAR(50);
SELECT predeterminado INTO tema FROM themes WHERE id_theme=id;
RETURN tema;
END
El problema puede estar produciéndose allí: Tanto CHAR como FARCHAR requieren definición de longitud, sin el cual si dimensión es 1.