Re: [JDBC] Strange server error with current 8.0beta driver

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: [JDBC] Strange server error with current 8.0beta driver
Дата
Msg-id 03E7D3E231BB7B4A915A6581D4296CC6CC9794@NSNOVPS00411.nacio.xythos.com
обсуждение исходный текст
Ответы Re: [JDBC] Strange server error with current 8.0beta driver
Список 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


Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Plperl Safe version check fails for Safe 2.09
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Big number of schemas (3500) into a single database