thanks, I'll have a look. Tommaso
2015-12-15 13:12 GMT+01:00 Davide Giannella <[email protected]>: > This commit breaks the build. > > Tommaso could you please have a look? > > in oak-core > > Tests in error: > > > sql1(org.apache.jackrabbit.oak.plugins.index.property.OrderedIndexQueryTest): > Results in target/oajopi.property.OrderedIndexQueryTest_sql1.txt don't > match expected results in > > /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-core/target/test-classes/org/apache/jackrabbit/oak/query/sql1.txt; > compare the files for details; got=(..) > > > sql1(org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexQueryTest): > Results in target/oajopi.property.PropertyIndexQueryTest_sql1.txt don't > match expected results in > > /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-core/target/test-classes/org/apache/jackrabbit/oak/query/sql1.txt; > compare the files for details; got=(..) > sql1(org.apache.jackrabbit.oak.query.index.TraversingIndexQueryTest): > Results in > > target/org.apache.jackrabbit.oak.query.index.TraversingIndexQueryTest_sql1.txt > don't match expected results in > > /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-core/target/test-classes/org/apache/jackrabbit/oak/query/sql1.txt; > compare the files for details; got=(..) > > On 15/12/2015 09:59, [email protected] wrote: > > Author: tommaso > > Date: Tue Dec 15 09:59:57 2015 > > New Revision: 1720106 > > > > URL: http://svn.apache.org/viewvc?rev=1720106&view=rev > > Log: > > OAK-2509 - support for facets in query engine > > > > Added: > > > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > (with props) > > Modified: > > > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > > > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > > > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > > > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > > > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > > > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java?rev=1720106&r1=1720105&r2=1720106&view=diff > > > ============================================================================== > > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > (original) > > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > Tue Dec 15 09:59:57 2015 > > @@ -119,6 +119,11 @@ public class QueryImpl implements Query > > public static final String REP_EXCERPT = "rep:excerpt"; > > > > /** > > + * The "rep:facet" pseudo-property. > > + */ > > + public static final String REP_FACET = "rep:facet"; > > + > > + /** > > * The "oak:explainScore" pseudo-property. > > */ > > public static final String OAK_SCORE_EXPLANATION = > "oak:scoreExplanation"; > > > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java?rev=1720106&r1=1720105&r2=1720106&view=diff > > > ============================================================================== > > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > (original) > > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > Tue Dec 15 09:59:57 2015 > > @@ -856,7 +856,7 @@ public class SQL2Parser { > > if (readIf("*")) { > > column.propertyName = null; > > } else if (readIf("EXCERPT")) { > > - column.propertyName = "rep:excerpt"; > > + column.propertyName = QueryImpl.REP_EXCERPT; > > read("("); > > if (!readIf(")")) { > > if (!readIf(".")) { > > @@ -867,12 +867,12 @@ public class SQL2Parser { > > readOptionalAlias(column); > > } else { > > column.propertyName = readName(); > > - if (column.propertyName.equals("rep:spellcheck")) { > > + if > (column.propertyName.equals(QueryImpl.REP_SPELLCHECK)) { > > if (readIf("(")) { > > read(")"); > > column.propertyName = ":spellcheck"; > > } > > - readOptionalAlias(column); > > + readOptionalAlias(column); > > } else if (readIf(".")) { > > column.selectorName = column.propertyName; > > if (readIf("*")) { > > > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java?rev=1720106&r1=1720105&r2=1720106&view=diff > > > ============================================================================== > > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > (original) > > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > Tue Dec 15 09:59:57 2015 > > @@ -20,6 +20,7 @@ import java.util.ArrayList; > > import javax.annotation.Nonnull; > > > > import org.apache.jackrabbit.oak.api.PropertyValue; > > +import org.apache.jackrabbit.oak.query.QueryImpl; > > import org.apache.jackrabbit.oak.spi.state.NodeState; > > import org.slf4j.Logger; > > import org.slf4j.LoggerFactory; > > @@ -52,7 +53,11 @@ public class AstElementFactory { > > } > > > > public ColumnImpl column(String selectorName, String propertyName, > String columnName) { > > - return new ColumnImpl(selectorName, propertyName, columnName); > > + if (propertyName.startsWith(QueryImpl.REP_FACET)) { > > + return new FacetColumnImpl(selectorName, propertyName, > columnName); > > + } else { > > + return new ColumnImpl(selectorName, propertyName, > columnName); > > + } > > } > > > > public ComparisonImpl comparison(DynamicOperandImpl operand1, > Operator operator, StaticOperandImpl operand2) { > > > > Added: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java?rev=1720106&view=auto > > > ============================================================================== > > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > (added) > > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > Tue Dec 15 09:59:57 2015 > > @@ -0,0 +1,36 @@ > > +/* > > + * Licensed to the Apache Software Foundation (ASF) under one > > + * or more contributor license agreements. See the NOTICE file > > + * distributed with this work for additional information > > + * regarding copyright ownership. The ASF licenses this file > > + * to you under the Apache License, Version 2.0 (the > > + * "License"); you may not use this file except in compliance > > + * with the License. You may obtain a copy of the License at > > + * > > + * http://www.apache.org/licenses/LICENSE-2.0 > > + * > > + * Unless required by applicable law or agreed to in writing, > > + * software distributed under the License is distributed on an > > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > + * KIND, either express or implied. See the License for the > > + * specific language governing permissions and limitations > > + * under the License. > > + */ > > +package org.apache.jackrabbit.oak.query.ast; > > + > > +import org.apache.jackrabbit.oak.api.PropertyValue; > > + > > +/** > > + * A facet result column expression. > > + */ > > +public class FacetColumnImpl extends ColumnImpl { > > + FacetColumnImpl(String selectorName, String propertyName, String > columnName) { > > + super(selectorName, propertyName, columnName); > > + } > > + > > + @Override > > + public PropertyValue currentProperty() { > > + return this.getSelector().currentOakProperty(getPropertyName()); > > + } > > + > > +} > > \ No newline at end of file > > > > Propchange: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > > > ------------------------------------------------------------------------------ > > svn:eol-style = native > > > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java?rev=1720106&r1=1720105&r2=1720106&view=diff > > > ============================================================================== > > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > (original) > > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > Tue Dec 15 09:59:57 2015 > > @@ -392,6 +392,8 @@ public class SelectorImpl extends Source > > String columnName = c.getColumnName(); > > if (columnName.equals(QueryImpl.REP_EXCERPT) || > columnName.equals(QueryImpl.OAK_SCORE_EXPLANATION)) { > > f.restrictProperty(columnName, Operator.NOT_EQUAL, > null); > > + } else if (columnName.startsWith(QueryImpl.REP_FACET)) { > > + f.restrictProperty(QueryImpl.REP_FACET, > Operator.EQUAL, PropertyValues.newString(columnName)); > > } > > } > > } > > @@ -668,6 +670,8 @@ public class SelectorImpl extends Source > > result = currentRow.getValue(QueryImpl.REP_SPELLCHECK); > > } else if (oakPropertyName.equals(QueryImpl.REP_SUGGEST)) { > > result = currentRow.getValue(QueryImpl.REP_SUGGEST); > > + } else if (oakPropertyName.startsWith(QueryImpl.REP_FACET)) { > > + result = currentRow.getValue(oakPropertyName); > > } else { > > result = > PropertyValues.create(t.getProperty(oakPropertyName)); > > } > > > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java?rev=1720106&r1=1720105&r2=1720106&view=diff > > > ============================================================================== > > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > (original) > > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > Tue Dec 15 09:59:57 2015 > > @@ -14,7 +14,7 @@ > > * See the License for the specific language governing permissions and > > * limitations under the License. > > */ > > -@Version("4.1") > > +@Version("4.2") > > @Export(optional = "provide:=true") > > package org.apache.jackrabbit.oak.query; > > > > > > > >
