You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gr...@locus.apache.org on 2000/11/01 21:20:47 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql esql.xsl
greenrd 00/11/01 12:20:45
Modified: . todo.xml changes.xml
src/org/apache/cocoon/processor/xsp/library/sql esql.xsl
Log:
made esql default to inner method false and noted changes
Revision Changes Path
1.42 +0 -6 xml-cocoon/todo.xml
Index: todo.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/todo.xml,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- todo.xml 2000/10/27 11:45:56 1.41
+++ todo.xml 2000/11/01 20:20:37 1.42
@@ -3,7 +3,7 @@
<!DOCTYPE todo SYSTEM "./xdocs/dtd/todo-v10.dtd">
<!--
- $Id: todo.xml,v 1.41 2000/10/27 11:45:56 greenrd Exp $
+ $Id: todo.xml,v 1.42 2000/11/01 20:20:37 greenrd Exp $
-->
<todo title="Things To Do for Cocoon 1.x">
@@ -16,12 +16,6 @@
</devs>
<actions priority="high">
- <action context="code">
- Fix Tomcat bug (see cocoon-dev list).
- </action>
- <action context="code">
- Make ESQL default to inner-method=false.
- </action>
<action context="code">
Track down cause of OutOfMemoryError.
</action>
1.139 +8 -6 xml-cocoon/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/changes.xml,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -r1.138 -r1.139
--- changes.xml 2000/10/30 11:28:52 1.138
+++ changes.xml 2000/11/01 20:20:38 1.139
@@ -4,7 +4,7 @@
<!--
History of Cocoon changes
- $Id: changes.xml,v 1.138 2000/10/30 11:28:52 jeremy Exp $
+ $Id: changes.xml,v 1.139 2000/11/01 20:20:38 greenrd Exp $
-->
<changes title="History of Changes">
@@ -14,15 +14,17 @@
<person name="Ricardo Rocha" email="ricardo@apache.org" id="RR"/>
<person name="Pierpaolo Fumagalli" email="pier@apache.org" id="PF"/>
<person name="Robin Green" email="greenrd@hotmail.com" id="RDG"/>
- <person name="Jeremy Quinn" email="jeremy@apache.org" id="JQ"/>
</devs>
<release version="@version@" date="@date@">
- <action dev="JQ" type="fix" due-to="Konstantin Piroumian" due-to-email="KPiroumian@flagship.ru">
- Fixed fp.xsl, to work better when mixed with other taglibs.
+ <action dev="RDG" type="update">
+ IMPORTANT: Made esql default to inner-method="false" since the
+ inner-method facility is not always needed and causes confusion.
</action>
- <action dev="JQ" type="fix">
- Fixed fp.xsl, to hopefully allow use of config elements properly.
+ <action dev="RDG" type="update">
+ Cocoon now sets a Last-Modified HTTP header based on the time the
+ result was generated (either now or when the result was last changed
+ in the cache).
</action>
<action dev="RDG" type="fix" due-to="Paul Lamb" due-to-email="paul@oil-law.com">
Fixed XSPProcessor to pick up correct classpath and
1.24 +32 -38 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.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- esql.xsl 2000/10/17 04:35:44 1.23
+++ esql.xsl 2000/11/01 20:20:43 1.24
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<!-- $Id: esql.xsl,v 1.23 2000/10/17 04:35:44 balld Exp $-->
+<!-- $Id: esql.xsl,v 1.24 2000/11/01 20:20:43 greenrd Exp $-->
<!--
============================================================================
@@ -119,11 +119,9 @@
int count;
int max_rows;
int skip_rows;
- boolean has_resultset;
- int update_count;
}
</xsp:logic>
- <xsl:for-each select=".//esql:execute-query[not(@inner-method='no')]">
+ <xsl:for-each select=".//esql:execute-query[@inner-method='yes']">
<xsl:call-template name="generate-code">
<xsl:with-param name="inner-method">yes</xsl:with-param>
</xsl:call-template>
@@ -132,7 +130,7 @@
</xsp:page>
</xsl:template>
-<xsl:template match="xsp:page/*[not(namespace-uri(.)='http://www.apache.org/1999/XSP/Core')]">
+<xsl:template match="xsp:page/*">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsp:logic>
@@ -152,7 +150,7 @@
<xspdoc:desc>indicates that a sql connection is going to be defined and one or more queries may be executed</xspdoc:desc>
<xsl:template match="esql:execute-query">
<xsl:choose>
- <xsl:when test="@inner-method='no'">
+ <xsl:when test="not(@inner-method='yes')">
<xsl:call-template name="generate-code">
<xsl:with-param name="inner-method">no</xsl:with-param>
</xsl:call-template>
@@ -274,11 +272,10 @@
<xsl:when test="esql:query">
_esql_session.query = String.valueOf(<xsl:copy-of select="$query"/>);
_esql_session.statement = _esql_session.connection.createStatement();
- _esql_session.has_resultset = _esql_session.statement.execute(_esql_session.query);
+ _esql_session.resultset = _esql_session.statement.executeQuery(_esql_session.query);
</xsl:when>
<xsl:when test="esql:statement">
_esql_session.prepared_statement = _esql_session.connection.prepareStatement(String.valueOf(<xsl:copy-of select="$statement"/>));
- _esql_session.statement = _esql_session.prepared_statement;
<xsl:text>_esql_session.prepared_statement.</xsl:text>
<xsl:for-each select=".//esql:parameter">
<xsl:choose>
@@ -293,40 +290,37 @@
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
- _esql_session.has_resultset = _esql_session.prepared_statement.execute();
+ _esql_session.resultset = _esql_session.prepared_statement.executeQuery();
</xsl:when>
</xsl:choose>
- if (_esql_session.has_resultset) {
- _esql_session.resultset = _esql_session.statement.getResultSet();
- _esql_session.resultset_metadata = _esql_session.resultset.getMetaData();
- _esql_session.update_count = -1;
- _esql_session.count = 0;
- if (_esql_session.skip_rows > 0) {
- while (_esql_session.resultset.next()) {
- _esql_session.count++;
- if (_esql_session.count == _esql_session.skip_rows) {
- break;
- }
- }
- }
- boolean _esql_results_<xsl:value-of select="generate-id(.)"/> = false;
+ _esql_session.resultset_metadata = _esql_session.resultset.getMetaData();
+ _esql_session.count = 0;
+ if (_esql_session.skip_rows > 0) {
while (_esql_session.resultset.next()) {
- _esql_results_<xsl:value-of select="generate-id(.)"/> = true;
- <xsl:apply-templates select="esql:results/*"/>
- if (_esql_session.max_rows != -1 && _esql_session.count - _esql_session.skip_rows == _esql_session.max_rows-1) {
- break;
- }
_esql_session.count++;
- }
- _esql_session.resultset.close();
- if (!_esql_results_<xsl:value-of select="generate-id(.)"/>) {
- <xsl:apply-templates select="esql:no-results/*"/>
- }
- } else {
- _esql_session.update_count = _esql_session.statement.getUpdateCount();
- <xsl:apply-templates select="esql:count-results/*"/>
- }
- _esql_session.statement.close();
+ if (_esql_session.count == _esql_session.skip_rows) {
+ break;
+ }
+ }
+ }
+ boolean _esql_results_<xsl:value-of select="generate-id(.)"/> = false;
+ while (_esql_session.resultset.next()) {
+ _esql_results_<xsl:value-of select="generate-id(.)"/> = true;
+ <xsl:apply-templates select="esql:results/*"/>
+ if (_esql_session.max_rows != -1 && _esql_session.count - _esql_session.skip_rows == _esql_session.max_rows-1) {
+ break;
+ }
+ _esql_session.count++;
+ }
+ _esql_session.resultset.close();
+ if (_esql_session.statement != null) {
+ _esql_session.statement.close();
+ } else if (_esql_session.prepared_statement != null) {
+ _esql_session.prepared_statement.close();
+ }
+ if (!_esql_results_<xsl:value-of select="generate-id(.)"/>) {
+ <xsl:apply-templates select="esql:no-results/*"/>
+ }
} catch (Exception _esql_exception) {
<xsl:if test="esql:error-results//esql:get-stacktrace">
StringWriter _esql_exception_writer = new StringWriter();