You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2006/05/31 10:21:23 UTC
svn commit: r410461 - in /jackrabbit/trunk/jackrabbit/src: main/javacc/sql/
test/java/org/apache/jackrabbit/core/query/
test/java/org/apache/jackrabbit/test/api/query/
Author: mreutegg
Date: Wed May 31 01:21:22 2006
New Revision: 410461
URL: http://svn.apache.org/viewvc?rev=410461&view=rev
Log:
JCR-436: InvalidQueryException thrown for a SQL query using WHERE CONTAINS(., 'someword')
Modified:
jackrabbit/trunk/jackrabbit/src/main/javacc/sql/JCRSQL.jjt
jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/FulltextQueryTest.java
jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/SQLTest.java
jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SQLQueryLevel2Test.java
Modified: jackrabbit/trunk/jackrabbit/src/main/javacc/sql/JCRSQL.jjt
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/javacc/sql/JCRSQL.jjt?rev=410461&r1=410460&r2=410461&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/javacc/sql/JCRSQL.jjt (original)
+++ jackrabbit/trunk/jackrabbit/src/main/javacc/sql/JCRSQL.jjt Wed May 31 01:21:22 2006
@@ -433,7 +433,7 @@
{
<CONTAINS>
<LEFT_PAREN>
- ( <ASTERISK> | (name = Identifier() { jjtThis.setPropertyName(name); }) ) ","
+ ( <ASTERISK> | <PERIOD> | (name = Identifier() { jjtThis.setPropertyName(name); }) ) ","
t = <CHAR_STRING_LITERAL> { jjtThis.setQuery(t.image.substring(1, t.image.length() - 1).replaceAll("''", "'")); }
<RIGHT_PAREN>
}
Modified: jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/FulltextQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/FulltextQueryTest.java?rev=410461&r1=410460&r2=410461&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/FulltextQueryTest.java (original)
+++ jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/FulltextQueryTest.java Wed May 31 01:21:22 2006
@@ -34,7 +34,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE jcr:path LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, 'fox')";
+ + "' AND CONTAINS(., 'fox')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
@@ -48,7 +48,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE \"jcr:path\" = '" + testRoot + "/foo"
- + "' AND CONTAINS(*, 'fox')";
+ + "' AND CONTAINS(., 'fox')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
@@ -67,7 +67,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE \"jcr:path\" LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, 'fox test')";
+ + "' AND CONTAINS(., 'fox test')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
@@ -86,7 +86,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE \"jcr:path\" LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, 'text ''fox jumps''')";
+ + "' AND CONTAINS(., 'text ''fox jumps''')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
@@ -105,7 +105,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE \"jcr:path\" LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, 'text ''fox jumps'' -other')";
+ + "' AND CONTAINS(., 'text ''fox jumps'' -other')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
@@ -124,7 +124,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE \"jcr:path\" LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, '''fox jumps'' test OR other')";
+ + "' AND CONTAINS(., '''fox jumps'' test OR other')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 2);
@@ -143,7 +143,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE \"jcr:path\" LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, '''fox juMps'' Test OR otheR')";
+ + "' AND CONTAINS(., '''fox juMps'' Test OR otheR')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 2);
@@ -162,7 +162,7 @@
String sql = "SELECT * FROM nt:unstructured"
+ " WHERE jcr:path LIKE '" + testRoot + "/%"
- + "' AND CONTAINS(*, 'fox jumps')";
+ + "' AND CONTAINS(., 'fox jumps')";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
checkResult(q.execute(), 2);
}
@@ -282,7 +282,7 @@
stmt = new StringBuffer();
stmt.append("SELECT * FROM nt:base ");
stmt.append("WHERE jcr:path LIKE '").append(testRoot).append("/%' ");
- stmt.append("AND CONTAINS(*, '").append(statement).append("')");
+ stmt.append("AND CONTAINS(., '").append(statement).append("')");
q = superuser.getWorkspace().getQueryManager().createQuery(stmt.toString(), Query.SQL);
checkResult(q.execute(), match ? 1 : 0);
Modified: jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/SQLTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/SQLTest.java?rev=410461&r1=410460&r2=410461&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/SQLTest.java (original)
+++ jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/query/SQLTest.java Wed May 31 01:21:22 2006
@@ -44,7 +44,7 @@
testRootNode.save();
- String sql = "SELECT * FROM nt:unstructured WHERE contains(*, 'fox') " +
+ String sql = "SELECT * FROM nt:unstructured WHERE contains(., 'fox') " +
"AND jcr:path LIKE '" + testRoot + "/%'";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
@@ -58,7 +58,7 @@
testRootNode.save();
String sql = "SELECT foo.mytext, bla.foo FROM nt:unstructured WHERE " +
- "contains(*, 'fox') AND NOT contains(*, 'bla') " +
+ "contains(., 'fox') AND NOT contains(., 'bla') " +
"AND jcr:path LIKE '" + testRoot + "/%'";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
Modified: jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SQLQueryLevel2Test.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SQLQueryLevel2Test.java?rev=410461&r1=410460&r2=410461&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SQLQueryLevel2Test.java (original)
+++ jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/test/api/query/SQLQueryLevel2Test.java Wed May 31 01:21:22 2006
@@ -134,7 +134,7 @@
StringBuffer tmp = new StringBuffer("SELECT ");
tmp.append(propertyName1);
tmp.append(" FROM ").append(testNodeType);
- tmp.append(" WHERE CONTAINS(*, '''quick brown'' -cat')");
+ tmp.append(" WHERE CONTAINS(., '''quick brown'' -cat')");
tmp.append(" AND ").append(jcrPath).append(" LIKE '");
tmp.append(testRoot).append("/%'");
return new Statement(tmp.toString(), Query.SQL);