summaryrefslogtreecommitdiff
path: root/ext/pgsql
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-07-17 15:41:50 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-07-17 15:43:37 +0200
commit6ff31eebb12883697d232d309b4be2deec935d77 (patch)
tree5f9227bfbafbf2089c20130a7a499331a83e7de8 /ext/pgsql
parent658e861fbbb2533a610b5dbc37e84105f7cb256b (diff)
downloadphp-git-6ff31eebb12883697d232d309b4be2deec935d77.tar.gz
Fix some pgsql arginfos
And make sure too few/many arguments throws, to satisfy the function signature.
Diffstat (limited to 'ext/pgsql')
-rw-r--r--ext/pgsql/pgsql.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 78aa5dfe2e..c9b1652ea4 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -220,7 +220,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_field_num, 0, 0, 2)
ZEND_ARG_INFO(0, field_name)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_fetch_result, 0, 0, 1)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_fetch_result, 0, 0, 2)
ZEND_ARG_INFO(0, result)
ZEND_ARG_INFO(0, row_number)
ZEND_ARG_INFO(0, field_name)
@@ -301,12 +301,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_create, 0, 0, 0)
ZEND_ARG_INFO(0, large_object_id)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_unlink, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_unlink, 0, 0, 1)
ZEND_ARG_INFO(0, connection)
ZEND_ARG_INFO(0, large_object_oid)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_open, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_open, 0, 0, 1)
ZEND_ARG_INFO(0, connection)
ZEND_ARG_INFO(0, large_object_oid)
ZEND_ARG_INFO(0, mode)
@@ -337,7 +337,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_import, 0, 0, 0)
ZEND_ARG_INFO(0, large_object_oid)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_export, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_lo_export, 0, 0, 2)
ZEND_ARG_INFO(0, connection)
ZEND_ARG_INFO(0, objoid)
ZEND_ARG_INFO(0, filename)
@@ -504,6 +504,7 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_meta_data, 0, 0, 2)
ZEND_ARG_INFO(0, db)
ZEND_ARG_INFO(0, table)
+ ZEND_ARG_INFO(0, extended)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_pg_convert, 0, 0, 3)
@@ -659,7 +660,7 @@ static const zend_function_entry pgsql_functions[] = {
PHP_FALIAS(pg_fieldprtlen, pg_field_prtlen, arginfo_pg_field_prtlen)
PHP_FALIAS(pg_fieldisnull, pg_field_is_null, arginfo_pg_field_is_null)
PHP_FALIAS(pg_freeresult, pg_free_result, arginfo_pg_free_result)
- PHP_FALIAS(pg_result, pg_fetch_result, arginfo_pg_get_result)
+ PHP_FALIAS(pg_result, pg_fetch_result, arginfo_pg_fetch_result)
PHP_FALIAS(pg_loreadall, pg_lo_read_all, arginfo_pg_lo_read_all)
PHP_FALIAS(pg_locreate, pg_lo_create, arginfo_pg_lo_create)
PHP_FALIAS(pg_lounlink, pg_lo_unlink, arginfo_pg_lo_unlink)
@@ -3079,8 +3080,8 @@ PHP_FUNCTION(pg_lo_unlink)
CHECK_DEFAULT_LINK(link);
}
else {
- php_error_docref(NULL, E_WARNING, "Requires 1 or 2 arguments");
- RETURN_FALSE;
+ zend_argument_count_error("Requires 1 or 2 arguments, %d given", ZEND_NUM_ARGS());
+ RETURN_THROWS();
}
if ((pgsql = (PGconn *)zend_fetch_resource2(link, "PostgreSQL link", le_link, le_plink)) == NULL) {
@@ -3152,8 +3153,8 @@ PHP_FUNCTION(pg_lo_open)
CHECK_DEFAULT_LINK(link);
}
else {
- php_error_docref(NULL, E_WARNING, "Requires 1 or 2 arguments");
- RETURN_FALSE;
+ zend_argument_count_error("Requires 1 or 2 arguments, %d given", ZEND_NUM_ARGS());
+ RETURN_THROWS();
}
if ((pgsql = (PGconn *)zend_fetch_resource2(link, "PostgreSQL link", le_link, le_plink)) == NULL) {
@@ -3503,8 +3504,8 @@ PHP_FUNCTION(pg_lo_export)
link = Z_RES_P(pgsql_link);
}
else {
- php_error_docref(NULL, E_WARNING, "Requires 2 or 3 arguments");
- RETURN_FALSE;
+ zend_argument_count_error("Requires 2 or 3 arguments, %d given", ZEND_NUM_ARGS());
+ RETURN_THROWS();
}
if (php_check_open_basedir(file_out)) {