You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ba...@locus.apache.org on 2000/09/01 19:39:35 UTC

cvs commit: xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql esql.xsl

balld       00/09/01 10:39:34

  Modified:    src/org/apache/cocoon/processor/xsp/library/sql esql.xsl
  Log:
  patched esql logicsheet to save the query as a string in EsqlSession
  
  Revision  Changes    Path
  1.6       +7 -1      xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql/esql.xsl
  
  Index: esql.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql/esql.xsl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- esql.xsl	2000/08/28 19:18:51	1.5
  +++ esql.xsl	2000/09/01 17:39:34	1.6
  @@ -106,6 +106,7 @@
                     DBConnection db_connection;
                     Connection connection;
                     boolean close_connection = true;
  +		  String query;
                     Statement statement;
                     ResultSet resultset;
                     ResultSetMetaData resultset_metadata;
  @@ -231,7 +232,8 @@
   		 </xsl:otherwise>
   	        </xsl:choose>
   	       _esql_session.statement = _esql_session.connection.createStatement();
  -	       _esql_session.resultset = _esql_session.statement.executeQuery(<xsl:copy-of select="$query"/>);
  +	       _esql_session.query = String.valueOf(<xsl:copy-of select="$query"/>);
  +	       _esql_session.resultset = _esql_session.statement.executeQuery(_esql_session.query);
   	       _esql_session.resultset_metadata = _esql_session.resultset.getMetaData();
   	       _esql_session.count = 0;
   	       if (_esql_session.skip_rows &gt; 0) {
  @@ -242,7 +244,9 @@
   		 }
   		}
   	       }
  +	       boolean _esql_results = false;
   	       while (_esql_session.resultset.next()) {
  +		_esql_results = true;
   	        <xsl:apply-templates select="esql:results/*"/>
   		if (_esql_session.max_rows != -1 &amp;&amp; _esql_session.count - _esql_session.skip_rows == _esql_session.max_rows-1) {
   		 break;
  @@ -268,6 +272,8 @@
   	        _esql_session = (EsqlSession)_esql_sessions.pop();
   	       }
   	      }
  +	      if (!_esql_results) {
  +               <xsl:apply-templates select="esql:no-results/*"/>
   	     }
   	</xsp:logic>
   </xsl:template>