Skip site navigation (1) Skip section navigation (2)

Re: " for read only" clause appended for safety when UseDeclareFetch=1 breaks some sql statements with trailing semicolons

From: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
To: Jack Wilson <ljwilson(at)digitalav(dot)com>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: " for read only" clause appended for safety when UseDeclareFetch=1 breaks some sql statements with trailing semicolons
Date: 2008-03-06 02:24:53
Message-ID: 47CF55F5.8090309@tpf.co.jp (view raw or flat)
Thread:
Lists: pgsql-odbc
Hi Jack,

Jack Wilson wrote:
> 
> I've found the change made in version psqlodbc 8.2.0501 and later 
> (reference: 
> http://archives.postgresql.org/pgsql-committers/2007-10/msg00420.php)
> 
> 4. Be more careful about <for locking clause> in UseDeclareFetch mode.
>   Add missing? "for read only" clause for read only queries for 8.3
>   or later servers for safety.
> 
> Here is a cvs link to the actual code change:
> http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/psqlodbc/psqlodbc/convert.c.diff?r1=1.163&r2=1.164 
> 
> 
> This change breaks existing code that sends a single sql statement with 
> a trailing semicolon. What happens is the odbc driver sees 
> UseDeclareFetch=1 and for sql statements appends " for read only" at the 
> end of the statement. This is fine except for the situation where the 
> statement has a trailing semicolon. In that case the statement ends up 
> being (say) "select blah blah; for read only", which gives a syntax 
> error like:
> 
> ERROR: syntax error at or near "for"
> SQL state: 42601
> 
> Setting UseDeclareFetch=0 fixes the problem, or using psqlodbc 8.2.0500 
> or earlier, or using PostgreSQL 8.2.6--any one of these prevents the " 
> for read only" from being appended to the end of the sql statement.

Oops my fault.
Unfortunately I'm very busy and please wait for a while.

regards,
Hiroshi Inoue


In response to

Responses

pgsql-odbc by date

Next:From: Ricardo DavidDate: 2008-03-06 10:38:24
Subject: psqlodbc broken since 08_02_0100
Previous:From: Jack WilsonDate: 2008-03-05 17:24:27
Subject: " for read only" clause appended for safety when UseDeclareFetch=1 breaks some sql statements with trailing semicolons

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group