Re: Problem when upgrade PostgreSQL 7.3.3 to PostgreSQL 8.0.3

Lists: pgsql-jdbc
From: Tjioe Ai Xin <xinxincute(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Problem when upgrade PostgreSQL 7.3.3 to PostgreSQL 8.0.3
Date: 2005-11-18 02:02:56
Message-ID: 200511180902.56997.xinxincute@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Dear all,

I have web application which is run using PostgreSQL 7.3.3 and JDBC Driver pg3jdbc3.jar.
But when I try to update to PostgreSQL 8.0.3 and using JDBC Driver postgresql-8.0-314.jdbc3.jar,
I got error messages:
1. Cannot change transaction isolation level in the middle of a transaction.
--> Does changing transaction isolation level in the middle of a transaction no longer supported?
2. ERROR: operator does not exist: bigint / character varying
--> I don't understand this error message because all my query statements runs well in the shell.
But when I call my query statement, I got the message.

What should I do to fix these error?

Best Regards,
Xin Xin


From: Kris Jurka <books(at)ejurka(dot)com>
To: Tjioe Ai Xin <xinxincute(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Problem when upgrade PostgreSQL 7.3.3 to PostgreSQL 8.0.3
Date: 2005-11-18 18:25:51
Message-ID: Pine.BSO.4.61.0511181321520.1663@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Fri, 18 Nov 2005, Tjioe Ai Xin wrote:

> I have web application which is run using PostgreSQL 7.3.3 and JDBC
> Driver pg3jdbc3.jar. But when I try to update to PostgreSQL 8.0.3 and
> using JDBC Driver postgresql-8.0-314.jdbc3.jar, I got error messages:

> 1. Cannot change transaction isolation level in the middle of a transaction.
> --> Does changing transaction isolation level in the middle of a
> transaction no longer supported?

This was never supported, but simply did not report the error in the past.
Transaction isolation must be set before the first statement of the
transaction is executed. The server must know in advance what type of
snapshot it must take when the transaction starts. It cannot go back and
time and retake it if the isolation level changes mid-transaction.

> 2. ERROR: operator does not exist: bigint / character varying
> --> I don't understand this error message because all my query
> statements runs well in the shell.
> But when I call my query statement, I got the message.

I'm guessing you are using PreparedStatement.setString for a numeric
value. Do you have a query like "WHERE colname / ? " ? You need to use a
different setXXX method that takes a numeric value.

Kris Jurka


From: Tjioe Ai Xin <xinxincute(at)gmail(dot)com>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Problem when upgrade PostgreSQL 7.3.3 to PostgreSQL 8.0.3
Date: 2005-11-21 04:39:15
Message-ID: 200511211139.15701.xinxincute@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Dear Kris,

Thank you for your answer. It helps me a lot.

Best Regards,
Xin Xin

On Saturday 19 November 2005 01:25, you wrote:
>
> On Fri, 18 Nov 2005, Tjioe Ai Xin wrote:
>
> > I have web application which is run using PostgreSQL 7.3.3 and JDBC
> > Driver pg3jdbc3.jar. But when I try to update to PostgreSQL 8.0.3 and
> > using JDBC Driver postgresql-8.0-314.jdbc3.jar, I got error messages:
>
> > 1. Cannot change transaction isolation level in the middle of a transaction.
> > --> Does changing transaction isolation level in the middle of a
> > transaction no longer supported?
>
> This was never supported, but simply did not report the error in the past.
> Transaction isolation must be set before the first statement of the
> transaction is executed. The server must know in advance what type of
> snapshot it must take when the transaction starts. It cannot go back and
> time and retake it if the isolation level changes mid-transaction.
>
> > 2. ERROR: operator does not exist: bigint / character varying
> > --> I don't understand this error message because all my query
> > statements runs well in the shell.
> > But when I call my query statement, I got the message.
>
> I'm guessing you are using PreparedStatement.setString for a numeric
> value. Do you have a query like "WHERE colname / ? " ? You need to use a
> different setXXX method that takes a numeric value.
>
> Kris Jurka
>