-
-
Notifications
You must be signed in to change notification settings - Fork 101
Open
Description
When querying for children of node with path which contains -<num>e, Query Builder throws InvalidQueryException.
$path = '/cms/site1/routes/it/home/test-1e';
$qb = $this->manager->createQueryBuilder();
$qb->fromDocument(AutoRoute::class, 'a');
$qb->where()->child($path, 'a');
$out = $qb->getQuery()->execute();
STEP 1:
/vendor/jackalope/jackalope-jackrabbit/src/Jackalope/Transport/Jackrabbit/Client.php line 888
$querystring = $query->getStatement();
$querystring has value:
SELECT * FROM [nt:unstructured] AS a WHERE (ISCHILDNODE(a, [/cms/site1/routes/it/home/test-1e]) AND (a.[phpcr:class] = 'MyCompany\Bundle\CMSBundle\Document\CMS\AutoRoute' OR a.[phpcr:classparents] = 'MyCompany\Bundle\CMSBundle\Document\CMS\AutoRoute'))
STEP 2:
/vendor/jackalope/jackalope-jackrabbit/src/Jackalope/Transport/Jackrabbit/Request.php line 529
$response = $curl->exec();
$response has value:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><D:error xmlns:D="DAV:"><dcr:exception xmlns:dcr="http://www.day.com/jcr/webdav/1.0"><dcr:class>javax.jcr.query.InvalidQueryException</dcr:class><dcr:message>Query:
SELECT * FROM [nt:unstructured] AS a WHERE (ISCHILDNODE(a, [/cms/site1/routes/it/home/test-(*)1e]) AND (a.[phpcr:class] = 'MyCompany\Bundle\CMSBundle\Document\CMS\AutoRoute' OR a.[phpcr:classparents] = 'MyCompany\Bundle\CMSBundle\Document\CMS\AutoRoute'))</dcr:message></dcr:exception></D:error>
As you can see above, it seems that someone is adding '(*)' to the JCR query.
This only happens if node's path contains -<num>e.
Does anyone have any solutions?
matteobaldelli and nelsonkopliku
Metadata
Metadata
Assignees
Labels
No labels