[repo] make it clear in internal_cnx that security is disabled
as explained in its docstring. It was previously relying on internal
connection's fake user (InternalManager) for read security and on disabling
security hooks for write security. Using the security_enabled context manager is
more readable and more reliable: while the older implementation works thanks to
the InternalManager associated to the session, custom hooks should rely
on session.[read|write]_security being correctly set. This change also
allows selecting Password attributes in internal connections without
explicitly disabling read security.
/* -*- 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 ;;