Re: cannot dollar-quote $$?$$ in PreparedStatements

Поиск
Список
Период
Сортировка
Искать
От
Kris Jurka
Тема
Re: cannot dollar-quote $$?$$ in PreparedStatements
Дата
Msg-id
Pine.BSO.4.61.0601111155320.13150@leary.csoft.net
Ответ на
Список
Дерево обсуждения
cannot dollar-quote $$?$$ in PreparedStatements Marc Herbert <Marc.Herbert@continuent.com>
Re: cannot dollar-quote $$?$$ in PreparedStatements Kris Jurka <books@ejurka.com>


On Wed, 11 Jan 2006, Marc Herbert wrote:

>
> With 8.0 postgresql and driver, this works fine:
> ps = con.prepareStatement("insert into product values(?, '?' , ?)");
>
> But this fails:
> ps = con.prepareStatement("insert into product values(?, $$?$$ , ?)");
>
> It looks like "someone" (driver or engine?) is counting 3 parameters 
> instead of 3:
>

This is a known issue.  The driver has no knowledge of dollar quotes in 
its query parser.  This is not just a problem for parameters, but also an 
issue when people want to issue a create function command with 
Statement.execute("CREATE FUNCTION f() RETURNS int AS $$ [a number of 
statements separated by semicolons] $$ language plpgsql");  The driver 
will detect the semicolons and try to execute each fragment separately. 
So this is a know issue with the only workaround being to not use dollar 
quotes.

Kris Jurka

В списке pgsql-jdbc по дате отправления
От: Roland Walter
Дата:
От: Takeichi Kanzaki Cabrera
Дата:
FAQ