The function count() used in X-application

The following comments were contained in the source file
// TODO: use the additional filter [true()] until count problem is solved

And the function count() with the additional filter showed very poor performance.

So my question is :
1) What is the problem caused to use the additional filter.
2) When will the problem will be fixed.
3) What is the difference when Tamino processing the count function with or without the filter.
I noticed the count function with this filter was executed by post-processor. Why?

Best Regards,

[This message was edited by Christian Freytag on 20 Mar 2003 at 15:00.]

Hello Yongwei,

to your questions:

1) The reason to add the additional filter [true()] for the count query was a multi-user test for X-Application. Within a multi user scenario the result of the count became invalid.

2) According to my colleagues, the problem should be fixed with Tamino However, we ? the X-Application team - did not change the code of our TaminoStore class.

3) The difference is the performance of the count function. With the filter, the optimization to evaluate the function is disabled. If you remove the filter, you should speed up the execution of the count.

Hint: you can use also the $SIZE for the select attribute of the display tag if counting the document set every time a user invokes a page is to expensive.

If you decide to remove the additional filter from the source code because you are using Tamino (or greater), let us know if you have problems with the count functionality. We will forward the problem directly to the Tamino development group.

Many thanks,


the filter for the count method of the Store class still exists also for X-Application 4.1.1.

However, the additional method xcount based on XQuery expressions is available. We recommend to use XQuery expressions and within this context the method ‘xcount’.

The xapp:count tag of JSPs can be switched. For using the xcount method, replace the attribute queryexpression and the X-Query expression with xqueryexpression and an adequat XQuery expression.

For cursors based on XQuery - such a cursor is created if you invoke a xapp:action of type=‘xquery’ - the xcount method is automatically used.