[querier] introduce RepeatList class, used to optimize size of data returned for result set description
When rql query has no ambiguity, we used to return the same description * N
where N is the size of the result set. Returning RepeatList class avoid
that multiplication.
According to quick benchmark this improve performance for result set whose
size is ~ > 50, has very small penalty for rset < 50, and in any case improve
the size of data to be transfered over the network through pyro connection.
/* -*- 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 ;;