JDBC-ers,

We are doing an INSERT and occasionally Postgres throws a SQLException
because there are unexpected results (see stacktrace below), maybe 10% 
of the time,
Any idea why this would happen when it works over 90% of the time?
However, it appears the insert is completed successfully.

We have looked at the source code for ResultSet.java and noticed
the method reallyResultSet() returns true if any of the fields are non-null.
I hope that helps in debugging.  

Also, we are running Postgres 7.1 with JDK1.2.1.

Regards,

Eric

--------------------------------------------------------------------------

IINSERT INTO bad_urls(ID,DATA,ATTEMPTS,REASON) VALUES 
(3375,'http://www.oit.itd.umich.edu/projects/adw2k/chordata/aves.html',0,'Unknown 
Host')

A result was returned by the statement, when none was expected.
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.sql.SQLException.<init>(SQLException.java:98)
    at org.postgresql.util.PSQLException.<init>(PSQLException.java:23)
    at org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:80)
    at 
org.postgresql.jdbc2.PreparedStatement.executeUpdate(PreparedStatement.java:122)
    at InsertError.record(InsertError.java:98)
    at InsertError.record(InsertError.java:69)
    at wbCheckUrl$CheckThread.run(wbCheckUrl.java:307)


Tue, 05 Mar 2002 15:27:59 -0700
Eric Scroger <escroger@carl.org>
A result was returned by the statement, when none was expected
Eric,

Which version of the driver are you using? Also do you have logs from
the postgres backend?

My suspicion is something in the data is causing the problem, what I
don't know, but that's my guess.

Dave

-----Original Message-----
From: pgsql-jdbc-owner@postgresql.org
[mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Eric Scroger
Sent: Tuesday, March 05, 2002 5:28 PM
To: pgsql hackers; pgsql-jdbc@postgresql.org
Cc: ed@carl.org
Subject: [JDBC] A result was returned by the statement, when none was
expected


JDBC-ers,

We are doing an INSERT and occasionally Postgres throws a SQLException
because there are unexpected results (see stacktrace below), maybe 10% 
of the time,
Any idea why this would happen when it works over 90% of the time?
However, it appears the insert is completed successfully.

We have looked at the source code for ResultSet.java and noticed the
method reallyResultSet() returns true if any of the fields are non-null.
I hope that helps in debugging.  

Also, we are running Postgres 7.1 with JDK1.2.1.

Regards,

Eric

------------------------------------------------------------------------
--

IINSERT INTO bad_urls(ID,DATA,ATTEMPTS,REASON) VALUES 
(3375,'http://www.oit.itd.umich.edu/projects/adw2k/chordata/aves.html',0
,'Unknown 
Host')

A result was returned by the statement, when none was expected.
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.sql.SQLException.<init>(SQLException.java:98)
    at org.postgresql.util.PSQLException.<init>(PSQLException.java:23)
    at org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:80)
    at 
org.postgresql.jdbc2.PreparedStatement.executeUpdate(PreparedStatement.j
ava:122)
    at InsertError.record(InsertError.java:98)
    at InsertError.record(InsertError.java:69)
    at wbCheckUrl$CheckThread.run(wbCheckUrl.java:307)


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)



Tue, 5 Mar 2002 17:56:52 -0500
"Dave Cramer" <Dave@micro-automation.net>
Re: A result was returned by the statement, when none was expected
Dave,

>Eric,
>
>Which version of the driver are you using? Also do you have logs from
>the postgres backend?
>

We are using driver jar file jdbc7.1-1.2.jar.  

I reproduced the problem with postgresql configured the debug setting to 16.
The backend debug logs are attached to this as they are kinda long 
(postback.log).

I'm not sure it is data directly, but it does always fail on the same data.
One thing I do know is the problem occurs when we are using 
PreparedStatments.  
If I put the same SQL statement into a separate statement it works fine.
For your info, here is the code related to the PreparedStatements.

----------------------------------------------------

PreparedStatement psInsertError = null;

            psInsertError = conn.prepareStatement(
            "INSERT INTO " + tabName
            + "(ID,DATA,ATTEMPTS,REASON) VALUES (?,?,?,?)" );

            psInsertError.setLong(1,id);
            psInsertError.setString(2,data);
            psInsertError.setInt(3,attempts);
            psInsertError.setString(4,reason);
            psInsertError.executeUpdate();

----------------------------

Thanks for your suggestions.

Eric


>
>
>My suspicion is something in the data is causing the problem, what I
>don't know, but that's my guess.
>
>Dave
>

>
>-----Original Message-----
>From: pgsql-jdbc-owner@postgresql.org
>[mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Eric Scroger
>Sent: Tuesday, March 05, 2002 5:28 PM
>To: pgsql hackers; pgsql-jdbc@postgresql.org
>Cc: ed@carl.org
>Subject: [JDBC] A result was returned by the statement, when none was
>expected
>
>
>JDBC-ers,
>
>We are doing an INSERT and occasionally Postgres throws a SQLException
>because there are unexpected results (see stacktrace below), maybe 10% 
>of the time,
>Any idea why this would happen when it works over 90% of the time?
>However, it appears the insert is completed successfully.
>
>We have looked at the source code for ResultSet.java and noticed the
>method reallyResultSet() returns true if any of the fields are non-null.
>I hope that helps in debugging.  
>
>Also, we are running Postgres 7.1 with JDK1.2.1.
>
>Regards,
>
>Eric
>
>------------------------------------------------------------------------
>--
>
>IINSERT INTO bad_urls(ID,DATA,ATTEMPTS,REASON) VALUES 
>(3375,'http://www.oit.itd.umich.edu/projects/adw2k/chordata/aves.html',0
>,'Unknown 
>Host')
>
>A result was returned by the statement, when none was expected.
>    at java.lang.Throwable.fillInStackTrace(Native Method)
>    at java.lang.Throwable.fillInStackTrace(Compiled Code)
>    at java.lang.Throwable.<init>(Compiled Code)
>    at java.lang.Exception.<init>(Compiled Code)
>    at java.sql.SQLException.<init>(SQLException.java:98)
>    at org.postgresql.util.PSQLException.<init>(PSQLException.java:23)
>    at org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:80)
>    at 
>org.postgresql.jdbc2.PreparedStatement.executeUpdate(PreparedStatement.j
>ava:122)
>    at InsertError.record(InsertError.java:98)
>    at InsertError.record(InsertError.java:69)
>    at wbCheckUrl$CheckThread.run(wbCheckUrl.java:307)
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>
Tue, 05 Mar 2002 16:31:46 -0700
Eric Scroger <escroger@carl.org>
Re: A result was returned by the statement, when none was expected