Hi!

I thinked about the problem of non-working <esql:more-results> tag with
PostgreSQL and the easy way to resolve this problem is to change in
PostgresEsqlQuery.java in line 85 from:


  if (getMaxRows() > -1) sb.append(" LIMIT ").append(getMaxRows());

to:

  if (getMaxRows() > -1) sb.append(" LIMIT ").append(getMaxRows()+1);

that way, when we will request maxrows=4 the code will limit the query to
5 (4+1) and there will be another row that will trigger the
<esql:more-results> tag.

Please review this little change.

Thanks in advance,

Antonio Gallardo

Antonio Gallardo dijo:
> Hi:
>
> I was checking the code behind esql. I think the problem is related to
> the new LIMT OFFSET in the Query:
>
> If we set the limit of returned rows the database will return in the
> recordset only the numbers of rows that we requested with the LIMIT
> keyword. That means that we cannot know if there are more rows. XSP does
> not know it too and then the <esql:more-results> do nothing.
>
> I thinked that we can change this because one of the use of the
> <esql:more-results> tag is pagination. If we cannot know if there are
> more rows then we cannot make use of the "previous page" and "next page"
> approach.
>
> I hope you will resolve this issue or please tell us how to resolve
> this.
>
> Thanks in advance,
>
> Antonio Gallardo
>
>
>
> Antonio Gallardo dijo:
>> Hi!
>>
>> I am trying to make use of <esql:more-results> in a simple PostgreSQL
>> database page using XSP. I am using Cocoon 2.1 CVS (today - 25-Dic-02
>> at night CST). My problem is that the <esql:more-results> is not
>> working. I know already there are more than 50 registers of the
>> database that can be retrieved.
>>
>> <snip>
>> <esql:execute-query>
>>   <esql:query>
>>     <esql:use-limit-clause/>
>>     <esql:skip-rows>1</esql:skip-rows>
>>     <esql:max-rows>10</esql:max-rows>
>>     <esql:results>
>>       <table><header-stuff/>
>>         <esql:row-results>
>>           <esql:previous-results>previous rows</esql:previous-results>
>> <esql:more-results>more rows</esql:more-results>
>>           <td><esql:get-string column="name"/></td>
>>         </esql:row-results>
>>       </table>
>>     </esql:results>
>>   </esql:query>
>> </snip>
>>
>> The point is: everything works well but the more-results is not
>> working no matter if you put it as descendant of <esql:results> or
>> <esql:row-results>
>>
>> My database is PostgreSQL 7.2 on Red Hat Linux 7.2
>>
>> Please help me.
>>
>> Regards,
>>
>> Antonio Gallardo
>>
>>
>>
>> ---------------------------------------------------------------------
>> Please check that your question  has not already been answered in the
>> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>>
>> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
>> For additional commands, e-mail:   <[EMAIL PROTECTED]>
>
>
>
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>




---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to