[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.
from logilab.common.deprecation import class_renamed, class_moved
from cubicweb.server import hook
SystemHook = class_renamed('SystemHook', hook.Hook)
PropagateSubjectRelationHook = class_renamed('PropagateSubjectRelationHook',
hook.PropagateSubjectRelationHook)
PropagateSubjectRelationAddHook = class_renamed('PropagateSubjectRelationAddHook',
hook.PropagateSubjectRelationAddHook)
PropagateSubjectRelationDelHook = class_renamed('PropagateSubjectRelationDelHook',
hook.PropagateSubjectRelationDelHook)
Hook = class_moved(hook.Hook)