Gaetano Mendola wrote:
> This is the stack trace:
>
> org.postgresql.util.PSQLException: Unknown Response Type 1
> at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:193)
> at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:101)
> at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)
> at
> org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:515)
>
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:50)
>
> at
> org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(AbstractJdbc1Statement.java:231)
>
> at
> net.eutelsat.opensky.sdr.command.db.SpSdrCheckPasswd.execute(SpSdrCheckPasswd.java:97)
(this stacktrace appears to match the REL7_4_1 driver code)
This means that the driver unexpectedly received a ParseComplete message
from the backend. As the driver you're using never issues a Parse
message, I'm not sure how this can ever happen. The most likely cause is
that the driver and the server are somehow getting out of sync as to
where the message boundaries lie.
I haven't seen this before and there's nothing obviously wrong with the
driver's protocol-level code that I can see.. so unless you can
reproduce it, it's a bit of a dead end :(
> The application:
>
> PreparedStatement theStatement;
> theStatement = theConnection.prepareStatement( "SELECT foo ( ?,? )" );
> theStatement.setString( 1 , aLogin );
> theStatement.setString( 2 , aPassword );
>
> ResultSet rs = theStatement.executeQuery(); <---- Line 97
>
>
> and in the server side:
>
> LOG: statement: SELECT foo ( 'login','password' )
> LOG: duration: 0.691 ms
Do you have the previous query on that connection logged?
Was there anything unusual in the server logs at around the same time?
-O