You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by al...@apache.org on 2013/08/12 16:22:53 UTC
svn commit: r1513144 - in /jackrabbit/trunk/jackrabbit-core/src:
main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactory.java
test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java
Author: alexparvulescu
Date: Mon Aug 12 14:22:52 2013
New Revision: 1513144
URL: http://svn.apache.org/r1513144
Log:
JCR-3398 LOWER operand with nested LOCALNAME operand does not work with SQL2
- patch by Federico Grilli
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactory.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactory.java?rev=1513144&r1=1513143&r2=1513144&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactory.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactory.java Mon Aug 12 14:22:52 2013
@@ -669,9 +669,7 @@ public class LuceneQueryFactory {
protected Query getNodeLocalNameQuery(int transform, String operator,
StaticOperand right) throws RepositoryException {
- if (transform != TRANSFORM_NONE
- || (!JCR_OPERATOR_EQUAL_TO.equals(operator) && !JCR_OPERATOR_LIKE
- .equals(operator))) {
+ if (!JCR_OPERATOR_EQUAL_TO.equals(operator) && !JCR_OPERATOR_LIKE.equals(operator)) {
throw new UnsupportedRepositoryOperationException();
}
String name = evaluator.getValue(right).getString();
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java?rev=1513144&r1=1513143&r2=1513144&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/SQL2NodeLocalNameTest.java Mon Aug 12 14:22:52 2013
@@ -22,7 +22,7 @@ import org.apache.jackrabbit.commons.Jcr
/**
* Test case for Node LocalName queries with JCR_SQL2
- *
+ *
* Inspired by <a
* href="https://issues.apache.org/jira/browse/JCR-2956">JCR-2956</a>
*/
@@ -118,4 +118,22 @@ public class SQL2NodeLocalNameTest exten
executeSQL2Query("SELECT * FROM [nt:base] as NODE WHERE LOWER(name(NODE)) like 'sql2nodelocalnametest%'"),
2);
}
+
+ /**
+ * test for JCR-3398
+ */
+ public void testLowerLocalNameOrContains() throws Exception {
+ checkResult(
+ executeSQL2Query("SELECT * FROM [nt:base] as NODE WHERE LOWER(localname(NODE)) like 'sql2nodelocalnametest%' OR contains(NODE.*, 'sql2nodelocalnametest')"),
+ 2);
+ }
+
+ /**
+ * test for JCR-3398
+ */
+ public void testUpperLocalNameOrContains() throws Exception {
+ checkResult(
+ executeSQL2Query("SELECT * FROM [nt:base] as NODE WHERE UPPER(localname(NODE)) like 'SQL2NODELOCALNAMETEST%' OR contains(NODE.*, 'SQL2NODELOCALNAMETEST')"),
+ 2);
+ }
}