*** empty log message ***

This commit is contained in:
Michael Meskes 2007-12-28 11:25:21 +00:00
parent 79bb2638a7
commit 2f86ab7733
5 changed files with 61 additions and 49 deletions

View File

@ -2272,6 +2272,13 @@ Tue, 06 Nov 2007 09:29:22 +0100
Fri, 21 Dec 2007 15:30:39 +0100
- Fixed a few minor glitches pointed out by splint.
Fri, 28 Dec 2007 12:15:38 +0100
- Applied patch send by ITAGAKI Takahiro
<itagaki.takahiro@oss.ntt.co.jp> to fix bug in connect statement if
user name is a variable.
- Also fixed test case that didn't detect this.
- Set pgtypes library version to 3.0.
- Set compat library version to 3.0.
- Set ecpg library version to 6.0.

View File

@ -1,4 +1,4 @@
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.356 2007/12/21 14:33:20 meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.357 2007/12/28 11:25:21 meskes Exp $ */
/* Copyright comment */
%{
@ -5114,7 +5114,7 @@ user_name: RoleId
{
if ($1[0] == '\"')
$$ = $1;
else if (strcmp($1, " ?") == 0) /* variable */
else if ($1[1] == '$') /* variable */
{
enum ECPGttype type = argsinsert->variable->type->type;

View File

@ -15,6 +15,7 @@ main(void)
exec sql begin declare section;
char db[200];
char id[200];
char *user="connectuser";
exec sql end declare section;
ECPGdebug(1, stderr);
@ -49,7 +50,7 @@ exec sql end declare section;
exec sql connect to "unix:postgresql://localhost/connectdb" as main user connectuser;
exec sql disconnect main;
exec sql connect to 'unix:postgresql://localhost/connectdb' as main user connectuser;
exec sql connect to 'unix:postgresql://localhost/connectdb' as main user :user;
exec sql disconnect main;
exec sql connect to "unix:postgresql://200.46.204.71/connectdb" as main user connectuser;

View File

@ -25,121 +25,125 @@ main(void)
/* exec sql begin declare section */
#line 16 "test5.pgc"
char db [ 200 ] ;
#line 17 "test5.pgc"
char id [ 200 ] ;
/* exec sql end declare section */
#line 18 "test5.pgc"
char * user = "connectuser" ;
/* exec sql end declare section */
#line 19 "test5.pgc"
ECPGdebug(1, stderr);
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 22 "test5.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "alter user connectuser encrypted password 'connectpw'", ECPGt_EOIT, ECPGt_EORT);}
#line 23 "test5.pgc"
{ ECPGdisconnect(__LINE__, "CURRENT");}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "alter user connectuser encrypted password 'connectpw'", ECPGt_EOIT, ECPGt_EORT);}
#line 24 "test5.pgc"
{ ECPGdisconnect(__LINE__, "CURRENT");}
#line 25 "test5.pgc"
/* <-- "main" not specified */
strcpy(db, "connectdb");
strcpy(id, "main");
{ ECPGconnect(__LINE__, 0, db , NULL, NULL , id, 0); }
#line 28 "test5.pgc"
{ ECPGdisconnect(__LINE__, id);}
#line 29 "test5.pgc"
{ ECPGdisconnect(__LINE__, id);}
#line 30 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 31 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 32 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 33 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 34 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 35 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 36 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 37 "test5.pgc"
#line 38 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 38 "test5.pgc"
#line 39 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "" , "connectdb" , NULL , "main", 0); }
#line 40 "test5.pgc"
#line 41 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 41 "test5.pgc"
#line 42 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "connectdb" , "connectuser" , "connectdb" , "main", 0); }
#line 43 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 44 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 45 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , "connectuser" , NULL , "main", 0); }
#line 46 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 47 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 48 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , "connectuser" , NULL , "main", 0); }
#line 49 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 50 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 51 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , "connectuser" , NULL , "main", 0); }
#line 52 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , user , NULL , "main", 0); }
#line 53 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 53 "test5.pgc"
#line 54 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "unix:postgresql://200.46.204.71/connectdb" , "connectuser" , NULL , "main", 0); }
#line 55 "test5.pgc"
#line 56 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 56 "test5.pgc"
#line 57 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/" , "connectdb" , NULL , "main", 0); }
#line 58 "test5.pgc"
#line 59 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 59 "test5.pgc"
#line 60 "test5.pgc"
/* connect twice */
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 62 "test5.pgc"
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 63 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL, NULL , "main", 0); }
#line 64 "test5.pgc"
{ ECPGdisconnect(__LINE__, "main");}
#line 65 "test5.pgc"
/* not connected */
{ ECPGdisconnect(__LINE__, "nonexistant");}
#line 67 "test5.pgc"
#line 68 "test5.pgc"
return (0);

View File

@ -2,11 +2,11 @@
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: opening database connectdb on <DEFAULT> port <DEFAULT>
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute line 23: QUERY: alter user connectuser encrypted password 'connectpw' with 0 parameter on connection main
[NO_PID]: ecpg_execute line 24: QUERY: alter user connectuser encrypted password 'connectpw' with 0 parameter on connection main
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute line 23: using PQexec
[NO_PID]: ecpg_execute line 24: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute line 23 Ok: ALTER ROLE
[NO_PID]: ecpg_execute line 24 Ok: ALTER ROLE
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: Connection main closed.
[NO_PID]: sqlca: code: 0, state: 00000
@ -46,11 +46,11 @@
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: Connection main closed.
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: non-localhost access via sockets in line 55
[NO_PID]: ECPGconnect: non-localhost access via sockets in line 56
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode -402 in line 55, 'Could not connect to database connectdb in line 55.'.
[NO_PID]: raising sqlcode -402 in line 56, 'Could not connect to database connectdb in line 56.'.
[NO_PID]: sqlca: code: -402, state: 08001
[NO_PID]: raising sqlcode -220 in line 56, 'No such connection main in line 56.'.
[NO_PID]: raising sqlcode -220 in line 57, 'No such connection main in line 57.'.
[NO_PID]: sqlca: code: -220, state: 08003
[NO_PID]: ECPGconnect: opening database on <DEFAULT> port <DEFAULT> for user connectdb
[NO_PID]: sqlca: code: 0, state: 00000
@ -62,5 +62,5 @@
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: Connection main closed.
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: raising sqlcode -220 in line 67, 'No such connection nonexistant in line 67.'.
[NO_PID]: raising sqlcode -220 in line 68, 'No such connection nonexistant in line 68.'.
[NO_PID]: sqlca: code: -220, state: 08003