Index: engine/src/main/java/org/hippoecm/repository/impl/QueryDecorator.java =================================================================== --- engine/src/main/java/org/hippoecm/repository/impl/QueryDecorator.java (revision 55502) +++ engine/src/main/java/org/hippoecm/repository/impl/QueryDecorator.java (working copy) @@ -34,11 +34,12 @@ import javax.jcr.ValueFactory; import javax.jcr.query.Query; import javax.jcr.query.QueryResult; - import javax.jcr.query.Row; import javax.jcr.query.RowIterator; + import org.apache.jackrabbit.core.query.QueryImpl; - +import org.hippoecm.hst.diagnosis.HDC; +import org.hippoecm.hst.diagnosis.Task; import org.hippoecm.repository.api.HippoNodeType; import org.hippoecm.repository.api.HippoQuery; import org.hippoecm.repository.decorating.DecoratorFactory; @@ -84,10 +85,23 @@ * @inheritDoc */ public QueryResult execute() throws RepositoryException { - if (arguments != null) { - return execute((Map)null); - } else { - return factory.getQueryResultDecorator(session, execute(query)); + Task queryTask = null; + + try { + if (HDC.isStarted()) { + queryTask = HDC.getCurrentTask().startSubtask("QueryDecorator.execute"); + queryTask.setAttribute("statement", getStatement()); + } + + if (arguments != null) { + return execute((Map)null); + } else { + return factory.getQueryResultDecorator(session, execute(query)); + } + } finally { + if (queryTask != null) { + queryTask.stop(); + } } }