diff options
-rw-r--r-- | ext/pdo_pgsql/pgsql_driver.c | 2 | ||||
-rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index 4594da8b1a..038b0e99c7 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -184,6 +184,7 @@ static int pgsql_handle_preparer(pdo_dbh_t *dbh, const char *sql, long sql_len, case PGRES_COMMAND_OK: case PGRES_TUPLES_OK: /* it worked */ + PQclear(res); return 1; case PGRES_BAD_RESPONSE: @@ -191,6 +192,7 @@ static int pgsql_handle_preparer(pdo_dbh_t *dbh, const char *sql, long sql_len, * PDO emulate it */ efree(S->stmt_name); S->stmt_name = NULL; + PQclear(res); break; default: diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 787d671ae7..3979bd8324 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -498,6 +498,11 @@ static int pgsql_stmt_get_column_meta(pdo_stmt_t *stmt, long colno, zval *return return 1; } +static int pdo_pgsql_stmt_cursor_closer(pdo_stmt_t *stmt TSRMLS_DC) +{ + return 1; +} + struct pdo_stmt_methods pgsql_stmt_methods = { pgsql_stmt_dtor, pgsql_stmt_execute, @@ -508,7 +513,8 @@ struct pdo_stmt_methods pgsql_stmt_methods = { NULL, /* set_attr */ NULL, /* get_attr */ pgsql_stmt_get_column_meta, - NULL /* next_rowset */ + NULL, /* next_rowset */ + pdo_pgsql_stmt_cursor_closer }; /* |