A result was returned by the statement, when none was expected

Started by Eric Scrogeralmost 24 years ago3 messages
#1Eric Scroger
escroger@carl.org

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)

#2Dave Cramer
Dave@micro-automation.net
In reply to: Eric Scroger (#1)
Re: 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&#39;,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)

#3Eric Scroger
escroger@carl.org
In reply to: Dave Cramer (#2)
1 attachment(s)
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

Show quoted text

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&#39;,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)

Attachments:

postback.logtext/plain; name=postback.logDownload