You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2011/04/05 13:38:44 UTC

svn commit: r1088987 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/QueryObjectModelImpl.java

Author: jukka
Date: Tue Apr  5 11:38:44 2011
New Revision: 1088987

URL: http://svn.apache.org/viewvc?rev=1088987&view=rev
Log:
JCR-2934: SQL2 queries are not logged

Patch by Alex Parvulescu

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/QueryObjectModelImpl.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/QueryObjectModelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/QueryObjectModelImpl.java?rev=1088987&r1=1088986&r2=1088987&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/QueryObjectModelImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/QueryObjectModelImpl.java Tue Apr  5 11:38:44 2011
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.core.query;
 
+import java.text.NumberFormat;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -38,6 +39,8 @@ import org.apache.jackrabbit.core.sessio
 import org.apache.jackrabbit.spi.commons.query.qom.BindVariableValueImpl;
 import org.apache.jackrabbit.spi.commons.query.qom.DefaultTraversingQOMTreeVisitor;
 import org.apache.jackrabbit.spi.commons.query.qom.QueryObjectModelTree;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * <code>QueryObjectModelImpl</code> implements the query object model.
@@ -45,6 +48,11 @@ import org.apache.jackrabbit.spi.commons
 public class QueryObjectModelImpl extends QueryImpl implements QueryObjectModel {
 
     /**
+     * The logger instance for this class
+     */
+    private static final Logger log = LoggerFactory.getLogger(QueryObjectModelImpl.class);
+
+    /**
      * The query object model tree.
      */
     protected QueryObjectModelTree qomTree;
@@ -109,14 +117,22 @@ public class QueryObjectModelImpl extend
     }
 
     public QueryResult execute() throws RepositoryException {
-        QueryEngine engine = new QueryEngine(
-                sessionContext.getSessionImpl(), lqf, variables);
-        return engine.execute(
-                getColumns(), getSource(), getConstraint(),
-                getOrderings(), offset, limit);
+        QueryEngine engine = new QueryEngine(sessionContext.getSessionImpl(),
+                lqf, variables);
+        long time = System.currentTimeMillis();
+        QueryResult qr = engine.execute(getColumns(), getSource(),
+                getConstraint(), getOrderings(), offset, limit);
+        time = System.currentTimeMillis() - time;
+        if (log.isDebugEnabled()) {
+            NumberFormat format = NumberFormat.getNumberInstance();
+            format.setMinimumFractionDigits(2);
+            format.setMaximumFractionDigits(2);
+            String seconds = format.format((double) time / 1000);
+            log.debug("executed in " + seconds + " s. (" + statement + ")");
+        }
+        return qr;
     }
 
-
     @Override
     public String[] getBindVariableNames() {
         return variables.keySet().toArray(new String[variables.size()]);