diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2006-09-19 15:46:25 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2006-09-19 15:46:25 +0000 |
| commit | 8690a5a2d9b85b0c70d6b604099a933792969253 (patch) | |
| tree | 93bc75690d5e0fd71f956400cb477e37150e26ec /ext/pdo_pgsql/pgsql_statement.c | |
| parent | 19ac74fd2300f9a69a656dae1a687c38a53039e6 (diff) | |
| download | php-git-8690a5a2d9b85b0c70d6b604099a933792969253.tar.gz | |
MFB:
Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements).
Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors).
Fixed test for bug #38253 not to use faulty SQL that generates
errors in PostgreSQL
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
| -rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 4a8d4e1176..5d5e4723a0 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -55,10 +55,14 @@ static int pgsql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC) char *q = NULL; PGresult *res; - spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name); - res = PQexec(H->server, q); - efree(q); - if (res) PQclear(res); + if (S->is_prepared) { + spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name); + res = PQexec(H->server, q); + efree(q); + if (res) { + PQclear(res); + } + } efree(S->stmt_name); S->stmt_name = NULL; } |
