diff options
| author | Edin Kadribasic <edink@php.net> | 2004-05-20 19:58:51 +0000 |
|---|---|---|
| committer | Edin Kadribasic <edink@php.net> | 2004-05-20 19:58:51 +0000 |
| commit | 7f6343e60ddbd41ac70be8116013ad4f886c65cd (patch) | |
| tree | dfdada53ede359a92e18edb56306a5aa6b054396 /ext/pdo_pgsql | |
| parent | e155ad208a6cb3f353285d165675578094e93ad4 (diff) | |
| download | php-git-7f6343e60ddbd41ac70be8116013ad4f886c65cd.tar.gz | |
Use native PostgreSQL connect string e.g.
$db = new PDO("pgsql:dbname=template1 user=postgres password=secret");
Diffstat (limited to 'ext/pdo_pgsql')
| -rw-r--r-- | ext/pdo_pgsql/pgsql_driver.c | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index cca7084458..1e27f8163f 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -166,15 +166,7 @@ static struct pdo_dbh_methods pgsql_methods = { static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC) /* {{{ */ { pdo_pgsql_db_handle *H; - int i, ret = 0; - char *host, *port, *dbname; - struct pdo_data_src_parser vars[] = { - { "host", "", 0 }, - { "port", "", 0 }, - { "dbname", "", 0 }, - }; - - php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 3); + int ret = 0; H = pecalloc(1, sizeof(pdo_pgsql_db_handle), dbh->is_persistent); dbh->driver_data = H; @@ -182,20 +174,7 @@ static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_ H->einfo.errcode = 0; H->einfo.errmsg = NULL; - /* handle for the server */ - host = vars[0].optval; - port = vars[1].optval; - dbname = vars[2].optval; - - H->server = - PQsetdbLogin(host, - port, - NULL, /* options */ - NULL, /* tty */ - dbname, - dbh->username, - dbh->password - ); + H->server = PQconnectdb(dbh->data_source); if (PQstatus(H->server) != CONNECTION_OK) { pdo_pgsql_error(dbh, PGRES_FATAL_ERROR); @@ -215,12 +194,6 @@ static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_ ret = 1; cleanup: - for (i = 0; i < sizeof(vars)/sizeof(vars[0]); i++) { - if (vars[i].freeme) { - efree(vars[i].optval); - } - } - if (!ret) { pgsql_handle_closer(dbh TSRMLS_CC); } |
