Jack Wilson wrote:
> I've found the change made in version psqlodbc 8.2.0501 and later
> 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:
> 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.
In response to
pgsql-odbc by date
|Next:||From: Ricardo David||Date: 2008-03-06 10:38:24|
|Subject: psqlodbc broken since 08_02_0100|
|Previous:||From: Jack Wilson||Date: 2008-03-05 17:24:27|
|Subject: " for read only" clause appended for safety when UseDeclareFetch=1 breaks
some sql statements with trailing semicolons|