Re: [JDBC] Strange server error with current 8.0beta driver - Mailing list pgsql-hackers
From | Barry Lind |
---|---|
Subject | Re: [JDBC] Strange server error with current 8.0beta driver |
Date | |
Msg-id | 03E7D3E231BB7B4A915A6581D4296CC6CC9794@NSNOVPS00411.nacio.xythos.com Whole thread Raw |
Responses |
Re: [JDBC] Strange server error with current 8.0beta driver
|
List | pgsql-hackers |
Tom, Here is what you requested. (Thanks to Oliver for the good logging in the jdbc driver). I also have the test case (in java) down to the bare minimum that generated the following output (that test case is attached). (Note that if the FETCH in the test case is not executed then the backend crashes; with the FETCH you get an error: "ERROR: unrecognized node type: 0") Thanks, --Barry PostgreSQL 8.0devel JDBC3 with SSL (build 308) Trying to establish a protocol version 3 connection to localhost:5432 FE=> StartupPacket(user=blind, database=fileswfs43, client_encoding=UNICODE, DateStyle=ISO) <=BE AuthenticationOk <=BE ParameterStatus(client_encoding = UNICODE) <=BE ParameterStatus(DateStyle = ISO, MDY) <=BE ParameterStatus(integer_datetimes = off) <=BE ParameterStatus(is_superuser = on) <=BE ParameterStatus(server_encoding = UNICODE) <=BE ParameterStatus(server_version = 8.0.0beta4) <=BE ParameterStatus(session_authorization = blind) <=BE BackendKeyData(pid=3348,ckey=914259969) <=BE ReadyForQuery(I) compatible = 8.0 loglevel = 2 prepare threshold = 1 getConnection returning driver[className=org.postgresql.Driver,org.postgresql.Driver@a9ae05] simple execute, handler=org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandl er@1df5a8f, maxRows=0, fetchSize=0, flags=0 FE=> Parse(stmt=S_1,query="BEGIN",oids={}) FE=> Bind(stmt=S_1,portal=null) FE=> Execute(portal=null,limit=0) FE=> Parse(stmt=S_2,query="DECLARE CUR CURSOR FOR SELECT 1",oids={}) FE=> Bind(stmt=S_2,portal=null) FE=> Describe(portal=null) FE=> Execute(portal=null,limit=0) FE=> Sync <=BE ParseComplete [S_1] <=BE BindComplete [null] <=BE CommandStatus(BEGIN) <=BE ParseComplete [S_2] <=BE BindComplete [null] <=BE NoData <=BE CommandStatus(DECLARE CURSOR) <=BE ReadyForQuery(T) simple execute, handler=org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandl er@1db699b, maxRows=0, fetchSize=0, flags=0 FE=> Parse(stmt=S_3,query="FETCH FORWARD 10 FROM CUR",oids={}) FE=> Bind(stmt=S_3,portal=null) FE=> Describe(portal=null) FE=> Execute(portal=null,limit=0) FE=> Sync <=BE ParseComplete [S_3] <=BE BindComplete [null] <=BE RowDescription(1) <=BE DataRow <=BE CommandStatus(FETCH) <=BE ReadyForQuery(T) simple execute, handler=org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandl er@12a0f6c, maxRows=0, fetchSize=0, flags=0 FE=> Parse(stmt=S_4,query="CLOSE CUR",oids={}) FE=> Bind(stmt=S_4,portal=null) FE=> Describe(portal=null) FE=> Execute(portal=null,limit=0) FE=> Sync <=BE ParseComplete [S_4] <=BE BindComplete [null] <=BE NoData <=BE CommandStatus(CLOSE CURSOR) <=BE ReadyForQuery(T) simple execute, handler=org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandl er@134a7d8, maxRows=0, fetchSize=0, flags=0 FE=> Bind(stmt=S_2,portal=null) FE=> Describe(portal=null) FE=> Execute(portal=null,limit=0) FE=> Sync <=BE BindComplete [null] <=BE NoData <=BE ErrorMessage(ERROR: unrecognized node type: 0 Location: File: clauses.c, Routine: expression_tree_mutator, Line: 3220 Server SQLState: XX000) java.sql.SQLException: ERROR: unrecognized node type: 0 Location: File: clauses.c, Routine: expression_tree_mutator, Line: 3220 Server SQLState: XX000 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecu torImpl.java:1356) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImp l.java:1151) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java: 166) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Stateme nt.java:363) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdb c2Statement.java:308) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Stateme nt.java:299) at test80.main(test80.java:31) SQLException: SQLState(XX000) <=BE ReadyForQuery(E) java.sql.SQLException: ERROR: unrecognized node type: 0 Location: File: clauses.c, Routine: expression_tree_mutator, Line: 3220 Server SQLState: XX000 -----Original Message----- From: Tom Lane [mailto:tgl@sss.pgh.pa.us] Sent: Tuesday, November 23, 2004 7:10 AM To: Barry Lind Cc: pgsql-jdbc@postgresql.org; pgsql-hackers@postgresql.org Subject: Re: [HACKERS] [JDBC] Strange server error with current 8.0beta driver "Barry Lind" <blind@xythos.com> writes: > OK, getting closer. The error happens if in jdbc I reuse > PreparedStatement objects to reexecute the same set of queries > multiple times. The TRAP you showed looked like it might have something to do with trying to execute code outside any transaction. But I dunno how it got there. > If you still need a test case, let me know, and I will continue to > package up what I have been working on. What I'd actually rather have is a list of the exact sequence of messages sent to the server. regards, tom lane
Attachment
pgsql-hackers by date: