You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Steve Conover <sc...@groundswell.net> on 2000/09/10 20:06:17 UTC
RE: esql error -- (Donald?) - nevermind
Donald,
I figured out my problem, I was still working with db prism but I commented
out all references to it.
Let me say that this esql stuff is *very* cool, I love having complete
control over the resultset (and I haven't even use nested queries yet!)
Regards,
Steve
> -----Original Message-----
> From: Steve Conover [mailto:sconover@groundswell.net]
> Sent: Sunday, September 10, 2000 10:27 AM
> To: Cocoon-users (E-mail)
> Subject: esql error -- (Donald?)
>
>
> I'm just starting to use esql...I put a simple query into my
> xsp logicsheet
>
> <esql:execute-query>
>
> <esql:use-connection>prod01</esql:use-connection>
> <esql:query>
> select catg_id as categoryid,
> catg_name as
> name
> from doc_category_t
> where catg_id=<xsl:copy-of
> select="$categoryid"/>
> </esql:query>
> </esql:execute-query>
>
> and got this error:
>
> java.lang.Exception: XSP Java Compiler: Compilation failed for
> _category.java 286: Duplicate variable declaration: Stack
> _esql_sessions was
> Stack _esql_sessions
> Stack _esql_sessions = new Stack();
> 287: Duplicate variable declaration: EsqlSession _esql_session was
> EsqlSession _esql_session
> EsqlSession _esql_session = null;
>
> the culprit seems to be this part of esql:
>
> <xsl:template match="xsp:page/*">
> <xsl:copy>
> <xsl:apply-templates select="@*"/>
>
> <xsp:logic>
> Stack _esql_sessions = new Stack();
> EsqlSession _esql_session = null;
> </xsp:logic>
>
> <xsl:apply-templates/>
> </xsl:copy>
> </xsl:template>
>
>
> am I missing something here, on the surface at least it seems
> like this code
> should not be here...presumably people will be using esql
> between xsp:page
> tags, and based on this you'd get duplicate declarations every time.
> However, maybe I'm doing something wrong since it seems other
> people have
> gotten this to work. I've tried commenting out just the
> xsp:logic section
> of this code a rebuilding cocoon.jar, and it seems to work
> fine. I hesitate
> to go forward like that though since that code may have some
> purpose...at
> the end of this email is the relevant java code that was generated
>
> Regards,
> Steve
>
>
> Stack _esql_sessions,
> EsqlSession _esql_session) throws Exception {
> if (_esql_session != null) {
> _esql_sessions.push(_esql_session);
> }
> _esql_session = new EsqlSession();
> try {
> _esql_session.max_rows =
> Integer.parseInt(String.valueOf(""));
> } catch (Exception _esql_e) {
> _esql_session.max_rows = -1;
> }
> try {
> _esql_session.skip_rows =
> Integer.parseInt(String.valueOf(""));
> } catch (Exception _esql_e) {
> _esql_session.skip_rows = 0;
> }
> try {
>
> _esql_session.db_connection =
> _esql_pool.getConnection(String.valueOf("prod01"));
> _esql_session.connection =
> _esql_session.db_connection.getConnection();
>
>
>
>
> _esql_session.statement =
> _esql_session.connection.createStatement();
> _esql_session.query = String.valueOf(
> ""
>
> + " select
> catg_id as
> categoryid, catg_name as name from doc_category_t
> where catg_id="
>
> +
> request.getParameter("categoryid"));
> _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 > 0) {
> while (_esql_session.resultset.next()) {
> _esql_session.count++;
> if (_esql_session.count == _esql_session.skip_rows) {
> break;
> }
> }
> }
> boolean _esql_results = false;
> while (_esql_session.resultset.next()) {
> _esql_results = true;
>
> 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();
> _esql_session.statement.close();
> if (!_esql_results) {
>
> }
> } catch (Exception _esql_e) {
>
> xspParentNode = xspCurrentNode;
> xspNodeStack.push(xspParentNode);
> xspCurrentNode =
> document.createElement("exception");
> xspParentNode.appendChild(xspCurrentNode);
>
>
> xspParentNode = xspCurrentNode;
> xspNodeStack.push(xspParentNode);
> xspCurrentNode =
> document.createElement("message");
> xspParentNode.appendChild(xspCurrentNode);
>
>
> xspCurrentNode.appendChild(
> xspExpr(_esql_e.getMessage(), document)
> );
>
>
> ((Element) xspCurrentNode).normalize();
> xspCurrentNode = (Node) xspNodeStack.pop();
>
>
> ((Element) xspCurrentNode).normalize();
> xspCurrentNode = (Node) xspNodeStack.pop();
>
>
> } finally {
> if (_esql_session.close_connection) {
> if (_esql_session.connection != null)
> _esql_session.connection.close();
>
>
> _esql_pool.releaseConnection(_esql_session.db_connection);
>
> }
> if (_esql_sessions.empty()) {
> _esql_session = null;
> } else {
> _esql_session = (EsqlSession)_esql_sessions.pop();
> }
> }
> }
>
> //the two problem lines that are causing problems
> Stack _esql_sessions = new Stack();
> EsqlSession _esql_session = null;
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
> For additional commands, e-mail: cocoon-users-help@xml.apache.org
>