summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql/pgsql_statement.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2006-09-19 15:46:25 +0000
committerIlia Alshanetsky <iliaa@php.net>2006-09-19 15:46:25 +0000
commit8690a5a2d9b85b0c70d6b604099a933792969253 (patch)
tree93bc75690d5e0fd71f956400cb477e37150e26ec /ext/pdo_pgsql/pgsql_statement.c
parent19ac74fd2300f9a69a656dae1a687c38a53039e6 (diff)
downloadphp-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.c12
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;
}