Re: Unable to prepare a statement when the object names contain more than one $ symbol - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: Unable to prepare a statement when the object names contain more than one $ symbol
Date
Msg-id Pine.BSO.4.64.0710160420230.644@leary.csoft.net
Whole thread Raw
In response to Re: Unable to prepare a statement when the object names contain more than one $ symbol  (Michael Paesold <mpaesold@gmx.at>)
Responses Re: Unable to prepare a statement when the object names contain more than one $ symbol
List pgsql-jdbc

On Tue, 10 Jul 2007, Michael Paesold wrote:

> Tom Lane schrieb:
>> Kris Jurka <books@ejurka.com> writes:
>>> On Mon, 9 Jul 2007, Altaf Malik wrote:
>>>> PreparedStatement pstmt = con.prepareStatement("insert into a$b$c values(
>>>> ? , ?)");
>>
>>> This is a bug in dollar quote parsing.  It assumes that any potential
>>> dollar quote start will have an end tag.
>>
>> If it thinks that's a dollar quote start, it's wrong already... that's
>> a perfectly valid table name.  (Although personally I'd suggest that the
>> OP avoid dollar signs in identifiers, since they're none too portable.)
>
> I guess I missed that case when implementing dollar quoting in the driver. I
> will have a look at it shortly.
>

Did you ever get a chance to look at this?  The attached patch fixes the
original complaint by ensuring that the ending tag exists, but as Tom
pointed out that's still not good enough as the second attached test case
demonstrates.

Kris Jurka

Attachment

pgsql-jdbc by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: text metadata
Next
From: Tore Halset
Date:
Subject: Re: text metadata