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.348&r2=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