Fix ecpg SQL CONNECT with variable user name

From: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: pgsql-patches(at)postgresql(dot)org
Subject: Fix ecpg SQL CONNECT with variable user name
Date: 2007-12-28 02:43:49
Message-ID: 20071228112301.127D.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

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

Attachment Content-Type Size
ecpg-connect.patch application/octet-stream 444 bytes

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Andrew Dunstan 2007-12-28 04:14:38 Re: [HACKERS] Unworkable column delimiter characters for COPY
Previous Message Tom Lane 2007-12-27 23:54:15 Re: Archiver behavior at shutdown