[utils] Add a '_cwtracehtml' GET parameter to trace self._cw.w() calls (closes #4601327)
The core of this patch is in UStringIO.write(). When tracing is enabled,
write() doesn't just append the 'value' argument to the underlying list.
Instead, a stack trace is recorded and a special HTML "source" is
formatted.
The output with tracing enabled is an HTML page, with the original HTML
escaped, and made clickable to show the stack trace when the write()
call was done.
This allows answering the recurring question: "who wrote this tag
here?!"
/* -*- 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 ;;