On Sat, 22 May 2004, PostgreSQL Bugs List wrote:
> > The following bug has been logged online: > > Logged by: David Brownlee > Email address: [EMAIL PROTECTED] > 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 ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]