Here is a fix for ecpg in 8.3 when the user name is specified by
variables on SQL CONNECT.
When we compile the following statement in ecpg:
EXEC SQL CONNECT TO :dbname USER :usrname IDENTIFIED BY :usrpass;
ecpg in 8.2 compiles it correctly.
{ ECPGconnect(__LINE__, 0, dbname , usrname , usrpass , NULL, 0); }
but ecpg in 8.3beta4 returns wrong results.
{ ECPGconnect(__LINE__, 0, dbname , $1 , $2 , NULL, 0); }
It seems to come from the change of create_questionmarks() in
http://archives.postgresql.org/pgsql-committers/2007-08/msg00185.php
http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/preproc/preproc.y?r1=1.348r2=1.349
Variables are represented as $%d instead of ? now.
The grammer of user_name should have followed the change.
Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center
ecpg-connect.patch
Description: Binary data
---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match