mirror of https://github.com/postgres/postgres
- Fixed a memory leak/segfault in unsuccessful connection. - Some changes to test files.REL8_2_STABLE
parent
162e8f1fd5
commit
99a5619e7b
@ -0,0 +1,63 @@ |
||||
/* |
||||
* this file tests all sorts of connecting to one single database. |
||||
*/ |
||||
|
||||
#include <stdlib.h> |
||||
#include <string.h> |
||||
#include <stdlib.h> |
||||
#include <stdio.h> |
||||
|
||||
/* do not include regression.h */ |
||||
|
||||
int |
||||
main(void) |
||||
{ |
||||
exec sql begin declare section; |
||||
char db[200]; |
||||
char id[200]; |
||||
exec sql end declare section; |
||||
|
||||
ECPGdebug(1, stderr); |
||||
|
||||
exec sql connect to connectdb as main; |
||||
exec sql alter user connectuser ENCRYPTED PASSWORD 'connectpw'; |
||||
exec sql disconnect; /* <-- "main" not specified */ |
||||
|
||||
strcpy(db, "connectdb"); |
||||
strcpy(id, "main"); |
||||
exec sql connect to :db as :id; |
||||
exec sql disconnect :id; |
||||
|
||||
exec sql connect to connectdb as main; |
||||
exec sql disconnect main; |
||||
|
||||
exec sql connect to "connectdb" as main; |
||||
exec sql disconnect main; |
||||
|
||||
exec sql connect to 'connectdb' as main; |
||||
exec sql disconnect main; |
||||
|
||||
exec sql connect to connectdb as main user connectuser/connectdb; |
||||
exec sql disconnect main; |
||||
|
||||
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 disconnect main; |
||||
|
||||
exec sql connect to 'unix:postgresql://localhost/connectdb' as main user connectuser; |
||||
exec sql disconnect main; |
||||
|
||||
exec sql connect to "unix:postgresql://200.46.204.71/connectdb" as main user connectuser; |
||||
exec sql disconnect main; |
||||
|
||||
exec sql disconnect nonexistant; |
||||
|
||||
/* connect twice */ |
||||
exec sql connect to connectdb as main; |
||||
exec sql connect to connectdb as main; |
||||
exec sql disconnect main; |
||||
|
||||
return (0); |
||||
} |
@ -0,0 +1,130 @@ |
||||
/* Processed by ecpg (4.2.1) */ |
||||
/* These include files are added by the preprocessor */ |
||||
#include <ecpgtype.h> |
||||
#include <ecpglib.h> |
||||
#include <ecpgerrno.h> |
||||
#include <sqlca.h> |
||||
/* End of automatic include section */ |
||||
|
||||
#line 1 "test5.pgc" |
||||
/*
|
||||
* this file tests all sorts of connecting to one single database. |
||||
*/ |
||||
|
||||
#include <stdlib.h> |
||||
#include <string.h> |
||||
#include <stdlib.h> |
||||
#include <stdio.h> |
||||
|
||||
/* do not include regression.h */ |
||||
|
||||
int |
||||
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" |
||||
|
||||
|
||||
ECPGdebug(1, stderr); |
||||
|
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL,NULL , "main", 0); } |
||||
#line 22 "test5.pgc" |
||||
|
||||
{ ECPGdo(__LINE__, 0, 1, NULL, "alter user connectuser encrypted password 'connectpw'", ECPGt_EOIT, ECPGt_EORT);} |
||||
#line 23 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "CURRENT");} |
||||
#line 24 "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" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL,NULL , "main", 0); } |
||||
#line 31 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 32 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL,NULL , "main", 0); } |
||||
#line 34 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 35 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL,NULL , "main", 0); } |
||||
#line 37 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 38 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , "connectuser" , "connectdb" , "main", 0); } |
||||
#line 40 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 41 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , "connectuser" , NULL , "main", 0); } |
||||
#line 43 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 44 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , "connectuser" , NULL , "main", 0); } |
||||
#line 46 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 47 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "unix:postgresql://localhost/connectdb" , "connectuser" , NULL , "main", 0); } |
||||
#line 49 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 50 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGconnect(__LINE__, 0, "unix:postgresql://200.46.204.71/connectdb" , "connectuser" , NULL , "main", 0); } |
||||
#line 52 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 53 "test5.pgc" |
||||
|
||||
|
||||
{ ECPGdisconnect(__LINE__, "nonexistant");} |
||||
#line 55 "test5.pgc" |
||||
|
||||
|
||||
/* connect twice */ |
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL,NULL , "main", 0); } |
||||
#line 58 "test5.pgc" |
||||
|
||||
{ ECPGconnect(__LINE__, 0, "connectdb" , NULL,NULL , "main", 0); } |
||||
#line 59 "test5.pgc" |
||||
|
||||
{ ECPGdisconnect(__LINE__, "main");} |
||||
#line 60 "test5.pgc" |
||||
|
||||
|
||||
return (0); |
||||
} |
@ -0,0 +1,56 @@ |
||||
[NO_PID]: ECPGdebug: set to 1 |
||||
[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]: ECPGexecute line 23: QUERY: alter user connectuser encrypted password 'connectpw' on connection main |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ECPGexecute line 23 Ok: ALTER ROLE |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ecpg_finish: Connection main closed. |
||||
[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_finish: Connection main closed. |
||||
[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_finish: Connection main closed. |
||||
[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_finish: Connection main closed. |
||||
[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_finish: Connection main closed. |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ECPGconnect: opening database connectdb on <DEFAULT> port <DEFAULT> for user connectuser |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ecpg_finish: Connection main closed. |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ECPGconnect: opening database connectdb on <DEFAULT> port <DEFAULT> for user connectuser |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ecpg_finish: Connection main closed. |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ECPGconnect: opening database connectdb on <DEFAULT> port <DEFAULT> for user connectuser |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ecpg_finish: Connection main closed. |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ECPGconnect: opening database connectdb on <DEFAULT> port <DEFAULT> for user connectuser |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ecpg_finish: Connection main closed. |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: connect: non-localhost access via sockets in line 52 |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: raising sqlcode -402 in line 52, 'Could not connect to database connectdb in line 52.'. |
||||
[NO_PID]: sqlca: code: -402, state: 08001 |
||||
[NO_PID]: raising sqlcode -220 in line 53, 'No such connection main in line 53.'. |
||||
[NO_PID]: sqlca: code: -220, state: 08003 |
||||
[NO_PID]: raising sqlcode -220 in line 55, 'No such connection nonexistant in line 55.'. |
||||
[NO_PID]: sqlca: code: -220, state: 08003 |
||||
[NO_PID]: ECPGconnect: opening database connectdb on <DEFAULT> port <DEFAULT> |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: connect: connection identifier main is already in use |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
||||
[NO_PID]: ecpg_finish: Connection main closed. |
||||
[NO_PID]: sqlca: code: 0, state: 00000 |
Loading…
Reference in new issue