Details
-
Bug
-
Resolution: Workaround exists
-
Major
-
None
-
3.5.8
-
None
Description
We have a very strange issue with querying custom page attributes. We have a custom page dialog that sets some custom page properties. These attributes are ad hoc and not defined in some sort of schema. We then have observation code that queries the JCR for pages with these attributes and certain values. Our queries look like this:
//element(*, mgnl:content) [@someLongAttribute and @someLongAttribute != 0]
SELECT * FROM mgnl:content WHERE someLongAttribute IS NOT NULL AND someLongAttribute != 0
//element(*, mgnl:content) [@someBooleanAttribute and @someBooleanAttribute = 'true']
SELECT *
FROM someBooleanAttribute IS NOT NULL AND someBooleanAttribute = 'true'
The behavior we are observing is that for certain pages the check for an attribute value is always false even if it should match according to the JCR browser. However the check for the attribute presence works as expected. As soon as we change a page attribute in the JCR browser the checks for the values work even if changed with the page properties dialog.
This issue is very rare and we have not yet found a way to reproduce or trigger it.