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

Re: [INTERFACES] ECPG Connect user :variable problem

From: Ryan Mooney <ryan(at)pcslink(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: [INTERFACES] ECPG Connect user :variable problem
Date: 2003-08-20 00:43:07
Message-ID: 20030820004307.GB10232@pcslink.com (view raw or flat)
Thread:
Lists: pgsql-bugspgsql-interfaces
All,

It appears that there is an extra space around a " ?" replaceable
string in the preprocessor that should have read "?".  Attached 
(and inline) is a patch to /src/interfaces/ecpg/preproc/prepoc.y 
that fixes the problem.

Also interestingly none of the test files for the ecpg processor
exercise the "USER :user USING :password" functionality (at least
that I could see - although I'm sortof blind so I might be missing
something :)

*** preproc.y	Tue Aug 19 17:06:44 2003
--- preproc.y.old	Tue Aug 19 17:06:35 2003
***************
*** 4174,4180 ****
  		{
  			if ($1[0] == '\"')
  				$$ = $1;
! 			else if (strcmp($1, "?") == 0) /* variable */
  			{
  				enum ECPGttype type = argsinsert->variable->type->type;
  
--- 4174,4180 ----
  		{
  			if ($1[0] == '\"')
  				$$ = $1;
! 			else if (strcmp($1, " ?") == 0) /* variable */
  			{
  				enum ECPGttype type = argsinsert->variable->type->type;
  

> 
> Hello,
> 
> I'm having a major problem using ecpg with 7.4beta1.  The problem is that
> if I try to pass in the username or password as :variables to the EXEC SQL
> CONNECT code they are essentially ignored (replaced by " ?").
> 
> I've tried it on both redhat 7.2 IA64 and Redhat 9.0 IA32 (different enough 
> that I don't think its the platform).   I also tried it with postgres 7.3.2
> which seemed to do the "right thing" and put the variables into the ECPGconnect
> call.
> 
> Any thoughts?
> 
> ------------------------------<snip "connect.pgc">---------------------------------
> int pg_connect(void)
> {
> 
>     EXEC SQL BEGIN DECLARE SECTION;
>     char *target = "dbname";
>     char *connection_name = "myconnection";
>     char *uname = "myuser";
>     char *password = "mypassword";
>     EXEC SQL END DECLARE SECTION;
> 
>     EXEC SQL CONNECT TO :target as :connection_name user :uname using :password;
> 
> }
> 
> ------------------------------<snip "connect.c">---------------------------------
> 
> int pg_connect(void)
> {
> 
> 	/* exec sql begin declare section */
> 	   
> 	   
> 	   
> 	   
> 	
> #line 5 "connect.pgc"
>  char * target  = "dbname" ;
>  
> #line 6 "connect.pgc"
>  char * connection_name  = "myconnection" ;
>  
> #line 7 "connect.pgc"
>  char * uname  = "myuser" ;
>  
> #line 8 "connect.pgc"
>  char * password  = "mypassword" ;
> /* exec sql end declare section */
> #line 9 "connect.pgc"
> 
> 
> 	{ ECPGconnect(__LINE__, 0, target , " ?" , " ?" , connection_name, 0); }
> #line 11 "connect.pgc"
> 
> 
> }
> 
> 
> -- 
> >-=-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-=-<
> Ryan Mooney          				 ryan(at)pcslink(dot)com 
> <-=-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-=-> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faqs/FAQ.html

-- 
>-=-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-=-<
Ryan Mooney          				 ryan(at)pcslink(dot)com 
<-=-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-=-> 

In response to

pgsql-bugs by date

Next:From: Arnold MavromatisDate: 2003-08-20 05:13:38
Subject: postgresql 7.3.2 bug on date '1901-12-13' and '1901-12-13' - PK violation
Previous:From: Ryan MooneyDate: 2003-08-19 22:17:08
Subject: ECPG Connect user :variable problem

pgsql-interfaces by date

Next:From: Ryan MooneyDate: 2003-08-20 18:05:28
Subject: Re: [INTERFACES] ECPG Connect user :variable problem
Previous:From: Ryan MooneyDate: 2003-08-19 22:17:08
Subject: ECPG Connect user :variable problem

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