jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Klimetschek" <aklim...@day.com>
Subject Re: SYSDATE() or NOW() concept in JCR query?
Date Fri, 07 Nov 2008 12:43:27 GMT
Hi!

No, this function is not supported. The XPath defined by JCR is only a
subset of XPath 1.0 and the only functions that are required are
jcr-specifc (jcr:like, jcr:contains, jcr:deref, jcr:score and some of
the Jackrabbit search extensions, such as rep:similar [1]). See also
section 6.6.5 and 6.6.6 of the JSR-170 spec [2].

JCR 2.0 will no longer have XPath out of the box, but a java query
model (JCR-JQOM). This means there will most likely be a generic XPath
to JQOM converter that could be more easily and separately maintained
and support such simple functions (as this only means to replace the
current-dateTime() with the date value).

For now you could do either do it manually in your Java code or, if
you want to manually enter queries, you could write a simple wrapper
that simply replaces the "current-dateTime()" string with the value of
the current date. (I know, this solution won't work for all
functions...)

[1] http://wiki.apache.org/jackrabbit/Search
[2] http://jcp.org/en/jsr/detail?id=170

Regards,
Alex


On Fri, Nov 7, 2008 at 12:30 PM, Phil Weighill-Smith
<phil.weighill-smith@volantis.com> wrote:
> XPath 2.0 has a current-dateTime() function, but don't know if it's
> available in Jackrabbit's implementation.
>
> Phil :n)
>
> On Thu, 2008-11-06 at 10:59 +0000, sbarriba wrote:
>
>> Hi all,
>>
>> We want to be able to query a set of nodes that have a date property which
>> is earlier than the current date.
>>
>>
>>
>> Is there a function facility within JCR SQL or XPath which will be replaced
>> with the current time/date?
>>
>>
>>
>> I can do it by creating a literal date in Java to achieve.
>>
>> xpathquery "/jcr:root/home/entries//element(*,
>> acm:BlogEntry)[@acm:publishdate <
>> xs:dateTime(\'2008-11-05T00:00:00.000+01:00\')]"
>>
>>
>>
>> .but I'd rather simply do..
>>
>> xpathquery "/jcr:root/home/acmenodes//element(*,
>> acm:BlogEntry)[@acm:publishdate < sysdate()]"
>>
>>
>>
>> All help appreciated.
>>
>> Regards,
>>
>> Shaun
>>
>>
>>
>>
>>
>



-- 
Alexander Klimetschek
alexander.klimetschek@day.com

Mime
View raw message