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());