From 8f415d441381f1a074e661cffaf9f806b1d8e001 Mon Sep 17 00:00:00 2001 From: Nikita Popov <nikita.ppv@gmail.com> Date: Wed, 9 Sep 2020 12:44:28 +0200 Subject: [PATCH] Promote pgsql no link to Error exception --- ext/pgsql/pgsql.c | 6 +++++- ext/pgsql/tests/no_link_open.phpt | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 ext/pgsql/tests/no_link_open.phpt diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index b0883769d1..118ecabbf3 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -74,7 +74,11 @@ #define PGSQL_RETURN_OID(oid) RETURN_LONG((zend_long)oid) #endif -#define CHECK_DEFAULT_LINK(x) if ((x) == NULL) { php_error_docref(NULL, E_WARNING, "No PostgreSQL link opened yet"); RETURN_FALSE; } +#define CHECK_DEFAULT_LINK(x) \ + if ((x) == NULL) { \ + zend_throw_error(NULL, "No PostgreSQL link opened yet"); \ + RETURN_THROWS(); \ + } #define FETCH_DEFAULT_LINK() PGG(default_link) #ifndef HAVE_PQFREEMEM diff --git a/ext/pgsql/tests/no_link_open.phpt b/ext/pgsql/tests/no_link_open.phpt new file mode 100644 index 0000000000..051ce38f19 --- /dev/null +++ b/ext/pgsql/tests/no_link_open.phpt @@ -0,0 +1,14 @@ +--TEST-- +Using pg function with default link while no link open +--FILE-- +<?php + +try { + pg_dbname(); +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} + +?> +--EXPECT-- +No PostgreSQL link opened yet -- 2.40.0