nxql error when field contains '
--------------------------------

                 Key: NXP-4615
                 URL: http://jira.nuxeo.org/browse/NXP-4615
             Project: Nuxeo Enterprise Platform
          Issue Type: Bug
          Components: Core JCR Storage
    Affects Versions: 5.3 GA
         Environment: Windows Vista running nuxeo Tomcat deployment version 5.3
            Reporter: Tom Akehurst
            Priority: Major


For example: give a nuxeo field string with a  ' in it, like Bob's Place.
There is a method on 
org.nuxeo.ecm.core.query.sql.SQLQueryParser.prepareStringLiteral() which seems 
to be meant to deal with this issue but it has no effect.
Create a like "select * from Document where myschema:myfield = " + 
org.nuxeo.ecm.core.query.sql.SQLQueryParser.prepareStringLiteral(Bob's Place);

Using this method I get the following stack trace:

Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: 
javax.jcr.query.InvalidQueryException. message: Lexical error at line 1, column 
82.  Encountered: <EOF> after : "\'] return $v" for statement: for $v in 
//element(*,ecmdt:Character)[...@character:firstName = 'Suzy's'] return $v: 
Lexical error at line 1, column 82.  Encountered: <EOF> after : "\'] return $v"
        at 
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.<init>(XPathQueryBuilder.java:303)
        at 
org.apache.jackrabbit.spi.commons.query.xpath.XPathQueryBuilder.createQuery(XPathQueryBuilder.java:332)
        at 
org.apache.jackrabbit.spi.commons.query.xpath.QueryBuilder.createQueryTree(QueryBuilder.java:39)
        at 
org.apache.jackrabbit.spi.commons.query.QueryParser.parse(QueryParser.java:57)
        at 
org.apache.jackrabbit.core.query.lucene.QueryImpl.<init>(QueryImpl.java:92)
        at 
org.apache.jackrabbit.core.query.lucene.SearchIndex.createExecutableQuery(SearchIndex.java:618)
        at org.apache.jackrabbit.core.query.QueryImpl.init(QueryImpl.java:128)
        at 
org.apache.jackrabbit.core.SearchManager.createQuery(SearchManager.java:316)
        at 
org.apache.jackrabbit.core.query.QueryManagerImpl.createQuery(QueryManagerImpl.java:102)
        at 
org.nuxeo.ecm.core.repository.jcr.JCRQuery.buildXPathJcrQuery(JCRQuery.java:265)
        ... 33 more
Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: 
org.apache.jackrabbit.spi.commons.query.xpath.TokenMgrError. message: Lexical 
error at line 1, column 82.  Encountered: <EOF> after : "\'] return $v"
        at 
org.apache.jackrabbit.spi.commons.query.xpath.XPathTokenManager.getNextToken(XPathTokenManager.java:13261)
        at 
org.apache.jackrabbit.spi.commons.query.xpath.XPath.jj_ntk(XPath.java:9193)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to