diff options
Diffstat (limited to 'ext/pgsql/pgsql.c')
| -rw-r--r-- | ext/pgsql/pgsql.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index b20aceab7f..9d0f57e704 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -1203,7 +1203,10 @@ static char *get_field_name(PGconn *pgsql, Oid oid, HashTable *list TSRMLS_DC) char *tmp_oid, *end_ptr, *tmp_name; list_entry new_oid_entry; - if ((result = PQexec(pgsql,"select oid,typname from pg_type")) == NULL) { + if ((result = PQexec(pgsql,"select oid,typname from pg_type")) == NULL || PQresultStatus(result) != PGRES_TUPLES_OK) { + if (result) { + PQclear(result); + } smart_str_free(&str); return empty_string; } |
