odd behaviour of prepared statement - Mailing list pgsql-jdbc

From kevin@mtel.co.uk (kevin)
Subject odd behaviour of prepared statement
Date
Msg-id 6675f17.0308180739.55448cc1@posting.google.com
Whole thread Raw
Responses Re: odd behaviour of prepared statement
Re: odd behaviour of prepared statement
List pgsql-jdbc
this piece of code is the second PreparedStatement in a bean function.
All code before it seems to work perfectly. no amount of tinkering
with this one will avoid an SQLException "parser: parse error at end
of input" on the executeQuery();
The code executes fine in psql.
db is 7.3.2. java is sun hotspot 1.41.

Any ideas why the code fails parsing?

<code>
        String strSQL;
    String strSQL_SalesAndReturns;
        PreparedStatement pstmtSR = null;
    ResultSet results = null;

    String strStockid=null;
    String strGroup=null;
    String strDesc=null;
    String strType=null;
    int iSales=0;
    int iReturns=0;

String  strSQL_SalesAndReturns =
"SELECT stock, " +
"       p.description, " +
"       p.stockgroup, " +
"       s.saleqty, " +
"       r.returned " +
"  FROM " +
"    (SELECT stockid as stock, " +
"            sum(saleqty) as saleqty " +
"       FROM dailysales s " +
"      WHERE s.saledate = '2003-08-22' " +
"        AND s.custid = '     5' " +
"      GROUP BY s.stockid ) AS s " +
"  FULL OUTER JOIN " +
"    (SELECT stock, " +
"            ordercurrent as returned " +
"       FROM orderlines ol " +
"      WHERE ol.theorder = 'A     5   12003-08-15' " +
"        AND ol.TYPE='R') as r " +
" USING (stock) " +
" INNER JOIN stockitems p ON (p.id=r.stock) " +
" WHERE p.status='N' " +
" ORDER BY ";

            strSQL = strSQL_SalesAndReturns;
        pstmtSR = livedb.prepareStatement(strSQL);

        // global character switch for grouping
            switch(cSelectOrder) {
                case cDESCRIPTION_SEQ : strSQL = strSQL +
"p.description;";
                                        break;
                case cGROUP_SEQ       : strSQL = strSQL +
"p.stockgroup,p.description;";
                                        break;
                case cCODE_SEQ        : strSQL = strSQL + "stock;";
                                        break;
                default               : strSQL = strSQL +
"p.description;";
                                        break;
            }

        results = pstmtSR.executeQuery();

        while( results.next() ) {
                strStockid = results.getString(1);
                strDesc    = results.getString(2);
                strGroup   = results.getString(3);
                iSales     = results.getInt(4);
                iReturns   = results.getInt(5);
            ... code to process resultset.
</code>

pgsql-jdbc by date:

Previous
From: kevin@mtel.co.uk (kevin)
Date:
Subject: Re: resultset.first() untrappable error
Next
From: "Nick Fankhauser"
Date:
Subject: Re: resultset.first() untrappable error