Ok, Dims, here you go... Please re-apply the patch! What happened? ...hope nothing else is broken now ;) Thanks! -- Torsten
Index: esql.xsl =================================================================== RCS file: /home/cvspublic/xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/java/esql.xsl,v retrieving revision 1.11 diff -u -r1.11 esql.xsl --- esql.xsl 2001/07/10 14:04:15 1.11 +++ esql.xsl 2001/07/17 18:22:59 @@ -502,20 +502,28 @@ </xsl:otherwise> </xsl:choose> if (_esql_query.results) { - _esql_query.resultset = _esql_query.statement.getResultSet(); - _esql_query.resultset_metadata = _esql_query.resultset.getMetaData(); - _esql_query.position = 0; - if (_esql_connection.use_limit_clause == 0 && _esql_query.skip_rows > 0) { - while (_esql_query.resultset.next()) { - _esql_query.position++; - if (_esql_query.position == _esql_query.skip_rows) { - break; + do { + _esql_query.resultset = _esql_query.statement.getResultSet(); + _esql_query.resultset_metadata = _esql_query.resultset.getMetaData(); + _esql_query.position = 0; + if (_esql_connection.use_limit_clause == 0 && _esql_query.skip_rows +> 0) { + while (_esql_query.resultset.next()) { + _esql_query.position++; + if (_esql_query.position == _esql_query.skip_rows) { + break; + } } } - } - <xsl:apply-templates select="esql:results"/> - <xsl:apply-templates select="esql:no-results"/> - _esql_query.resultset.close(); + + if (_esql_query.resultset.next()) { + <xsl:apply-templates select="esql:results"/> + } + else { + <xsl:apply-templates select="esql:no-results"/> + } + + _esql_query.resultset.close(); + } while(_esql_query.statement.getMoreResults()); } else { _esql_query.position = _esql_query.statement.getUpdateCount(); if (_esql_query.position >= 0) { @@ -562,11 +570,7 @@ </xsl:template> <xsl:template match="esql:execute-query//esql:no-results"> - <xsp:logic> - if (_esql_query.position == _esql_query.skip_rows) { - <xsl:apply-templates/> - } - </xsp:logic> + <xsl:apply-templates/> </xsl:template> <xsl:template match="esql:update-results//esql:get-update-count"> @@ -575,14 +579,15 @@ <xsl:template match="esql:results//esql:row-results"> <xsp:logic> - while (_esql_query.resultset.next()) { + do { <xsl:apply-templates/> if (_esql_connection.use_limit_clause == 0 && _esql_query.max_rows != -1 && _esql_query.position - _esql_query.skip_rows == _esql_query.max_rows-1) { _esql_query.position++; break; } _esql_query.position++; - } + } while (_esql_query.resultset.next()); + if (_esql_query.resultset.next()) { <xsl:apply-templates select="following-sibling::esql:more-results" mode="more"/> _esql_query.position++;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]