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 2016/06/07 14:34:24 UTC

svn commit: r1747245 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java test/java/org/apache/jackrabbit/oak/query/FilterTest.java

Author: thomasm
Date: Tue Jun  7 14:34:23 2016
New Revision: 1747245

URL: http://svn.apache.org/viewvc?rev=1747245&view=rev
Log:
OAK-4170 QueryEngine adding invalid property restriction for fulltext query (WIP)

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

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java?rev=1747245&r1=1747244&r2=1747245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FullTextSearchImpl.java Tue Jun  7 14:34:23 2016
@@ -277,8 +277,8 @@ public class FullTextSearchImpl extends
             if (f.getSelector().equals(selector)) {
                 String p = propertyName;
                 if (relativePath != null) {
-                    p = PathUtils.concat(p, relativePath);
-                }                
+                    p = PathUtils.concat(relativePath, p);
+                }
                 p = normalizePropertyName(p);
                 restrictPropertyOnFilter(p, f);
             }

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/FilterTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/FilterTest.java?rev=1747245&r1=1747244&r2=1747245&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/FilterTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/FilterTest.java Tue Jun  7 14:34:23 2016
@@ -52,6 +52,25 @@ public class FilterTest {
     }
     
     @Test
+    @Ignore
+    public void oak4170() throws ParseException {
+        String sql2 = "select * from [nt:unstructured] where CONTAINS([jcr:content/metadata/comment], 'december')";
+        Filter f = createFilterSQL(sql2);
+        String plan = f.toString();
+        // with the "property is not null" restriction, it would be:
+        // assertEquals("Filter(query=select * from [nt:unstructured] " + 
+        //         "where CONTAINS([jcr:content/metadata/comment], 'december') " + 
+        //         "fullText=jcr:content/metadata/comment:\"december\", " + 
+        //         "path=*, property=[jcr:content/metadata/comment=[is not null]])", plan);
+        assertEquals("Filter(query=select * from [nt:unstructured] " + 
+                "where CONTAINS([jcr:content/metadata/comment], 'december') " + 
+                "fullText=jcr:content/metadata/comment:\"december\", " + 
+                "path=*)", plan);
+        assertEquals(f.getPropertyRestrictions().toString(), 0, f.getPropertyRestrictions().size());
+        f.getPropertyRestriction("jcr:content/metadata/comment");
+    }
+    
+    @Test
     public void localName() throws Exception {
         Filter f = createFilterSQL("select * from [nt:base] where localname() = 'resource'");
         assertEquals("[resource]", f.getPropertyRestrictions(":localname").toString());