You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2014/07/24 12:12:46 UTC

svn commit: r1613057 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java

Author: thomasm
Date: Thu Jul 24 10:12:46 2014
New Revision: 1613057

URL: http://svn.apache.org/r1613057
Log:
OAK-1989 Query: improved performance for queries with many literals

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java?rev=1613057&r1=1613056&r2=1613057&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/LiteralImpl.java Thu Jul 24 10:12:46 2014
@@ -32,6 +32,7 @@ import org.apache.jackrabbit.oak.query.S
 public class LiteralImpl extends StaticOperandImpl {
 
     private final PropertyValue value;
+    private int hashCode;
 
     public LiteralImpl(PropertyValue value) {
         this.value = value;
@@ -89,7 +90,10 @@ public class LiteralImpl extends StaticO
 
     @Override
     public int hashCode() {
-        return value.hashCode();
+        if (hashCode == 0) {
+            hashCode = value.hashCode();
+        }
+        return hashCode;
     }
 
 }