diff options
Diffstat (limited to 'ext/pgsql/pgsql.c')
-rw-r--r-- | ext/pgsql/pgsql.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index e8f546768b..0a533c8a77 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -1127,6 +1127,7 @@ PHP_FUNCTION(pg_getlastoid) RETURN_FALSE; } pgsql_result = pg_result->result; +#ifndef HAVE_PQOIDVALUE return_value->value.str.val = (char *) PQoidStatus(pgsql_result); if (return_value->value.str.val) { return_value->value.str.len = strlen(return_value->value.str.val); @@ -1134,7 +1135,15 @@ PHP_FUNCTION(pg_getlastoid) return_value->type = IS_STRING; } else { return_value->value.str.val = empty_string; - } + } +#else + return_value->value.lval = (int) PQoidValue(pgsql_result); + if (return_value->value.lval == InvalidOid) { + RETURN_FALSE; + } else { + return_value->type = IS_LONG; + } +#endif } /* }}} */ |