Re: BUG #1155: AbstractJdbc2ResultSet:parseQuery ; in tablename

From: Kris Jurka <books(at)ejurka(dot)com>
To: David Brownlee <abs(at)mono(dot)org>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #1155: AbstractJdbc2ResultSet:parseQuery ; in tablename
Date: 2004-05-24 19:05:02
Message-ID: Pine.BSO.4.56.0405241359430.1159@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sat, 22 May 2004, PostgreSQL Bugs List wrote:

>
> The following bug has been logged online:
>
> Logged by: David Brownlee
> Email address: abs(at)mono(dot)org
> PostgreSQL version: 7.4
> Description: AbstractJdbc2ResultSet:parseQuery ; in tablename
> Details:
>
>
> In AbstractJdbc2ResultSet:parseQuery can end up leaving a ; on the end of a
> tablename, which when later used in isUpdateable() will choke.
> The following 'fixes' it:
>
> --- org/postgresql/jdbc2/AbstractJdbc2ResultSet.java.orig 2004-05-21
> 12:54
> :29.000000000 +0100
> +++ org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
> @@ -1448,7 +1450,7 @@ public abstract class AbstractJdbc2Resul
> {
> if (name.toLowerCase().equals("from"))
> {
> - tableName = st.nextToken();
> + tableName =
> st.nextToken().replaceAll(";
> ", "");
> tableFound = true;
> }
>
> This was found while writing a small java tool to copy the contents of one
> database to another, which can be provided to demonstrate the problem on
> request. Would have attached it here if there had been an option :)
>

This isn't a valid solution as replaceAll is a 1.4 jdk feature while this
code is in the jdbc2 package which means it must be compilable with the
1.2 jdk. Additionally it's possible for a tablename to contain a
semi-colon. I've been discussing the failings of parseQuery with another
user here:

http://gborg.postgresql.org/project/pgjdbc/bugs/bugupdate.php?793

Kris Jurka

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Martin Pitt 2004-05-25 08:04:23 Fwd: Bug#249083: postgresql: Postgres SIGSEGV if wins in nsswitch.conf
Previous Message PostgreSQL Bugs List 2004-05-22 16:58:16 BUG #1155: AbstractJdbc2ResultSet:parseQuery ; in tablename