]> granicus.if.org Git - php/commitdiff
Fix UNKNOWN default values in ext/pdo_pgsql
authorMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 18 Sep 2020 08:31:48 +0000 (10:31 +0200)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 18 Sep 2020 09:13:27 +0000 (11:13 +0200)
Closes GH-6159

ext/pdo_pgsql/pgsql_driver.c
ext/pdo_pgsql/pgsql_driver.stub.php
ext/pdo_pgsql/pgsql_driver_arginfo.h

index 2666ae66e146fd5199574de92520b81ed7551a9b..d800d65a2df0e9f38d2d09bb85fd0958da1bffaa 100644 (file)
@@ -559,7 +559,7 @@ PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyFromArray)
        PGresult *pgsql_result;
        ExecStatusType status;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS(), "sa|sss",
+       if (zend_parse_parameters(ZEND_NUM_ARGS(), "sa|sss!",
                                        &table_name, &table_name_len, &pg_rows,
                                        &pg_delim, &pg_delim_len, &pg_null_as, &pg_null_as_len, &pg_fields, &pg_fields_len) == FAILURE) {
                RETURN_THROWS();
@@ -670,7 +670,7 @@ PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyFromFile)
        ExecStatusType status;
        php_stream *stream;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS(), "sp|sss",
+       if (zend_parse_parameters(ZEND_NUM_ARGS(), "sp|sss!",
                                &table_name, &table_name_len, &filename, &filename_len,
                                &pg_delim, &pg_delim_len, &pg_null_as, &pg_null_as_len, &pg_fields, &pg_fields_len) == FAILURE) {
                RETURN_THROWS();
@@ -770,7 +770,7 @@ PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyToFile)
 
        php_stream *stream;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS(), "sp|sss",
+       if (zend_parse_parameters(ZEND_NUM_ARGS(), "sp|sss!",
                                        &table_name, &table_name_len, &filename, &filename_len,
                                        &pg_delim, &pg_delim_len, &pg_null_as, &pg_null_as_len, &pg_fields, &pg_fields_len) == FAILURE) {
                RETURN_THROWS();
@@ -862,7 +862,7 @@ PHP_METHOD(PDO_PGSql_Ext, pgsqlCopyToArray)
        PGresult *pgsql_result;
        ExecStatusType status;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|sss",
+       if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|sss!",
                &table_name, &table_name_len,
                &pg_delim, &pg_delim_len, &pg_null_as, &pg_null_as_len, &pg_fields, &pg_fields_len) == FAILURE) {
                RETURN_THROWS();
index 09907bc61a2be24e828d928d518687a34af60c62..bf63c5656e2b58bcfd08ad4265ffea4ac2e8c664 100644 (file)
@@ -5,16 +5,16 @@
 // These are extension methods for PDO. This is not a real class.
 class PDO_PGSql_Ext {
     /** @return bool */
-    public function pgsqlCopyFromArray(string $table_name, array $rows, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+    public function pgsqlCopyFromArray(string $table_name, array $rows, string $delimiter = "\t", string $null_as = "\\\\N", ?string $fields = null) {}
 
     /** @return bool */
-    public function pgsqlCopyFromFile(string $table_name, string $filename, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+    public function pgsqlCopyFromFile(string $table_name, string $filename, string $delimiter = "\t", string $null_as = "\\\\N", ?string $fields = null) {}
 
     /** @return array|false */
-    public function pgsqlCopyToArray(string $table_name, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+    public function pgsqlCopyToArray(string $table_name, string $delimiter = "\t", string $null_as = "\\\\N", ?string $fields = null) {}
 
     /** @return bool */
-    public function pgsqlCopyToFile(string $table_name, string $filename, string $delimiter = "\t", string $null_as = "\\\\N", string $fields = UNKNOWN) {}
+    public function pgsqlCopyToFile(string $table_name, string $filename, string $delimiter = "\t", string $null_as = "\\\\N", ?string $fields = null) {}
 
     /** @return string|false */
     public function pgsqlLOBCreate() {}
index 83e130184561aa0bfd0b6cadda523bf2f0adaa5e..0c79009f989a4541f74cd945cf30b7e9251a7718 100644 (file)
@@ -1,12 +1,12 @@
 /* This is a generated file, edit the .stub.php file instead.
- * Stub hash: 80c3e9c95db8c68ff3a2c2753aa5e9485af9fe4c */
+ * Stub hash: 6e5758f2ff93c89f3658aa8f6cfb32a60fd85127 */
 
 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromArray, 0, 0, 2)
        ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO(0, rows, IS_ARRAY, 0)
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 0, "\"\\t\"")
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, null_as, IS_STRING, 0, "\"\\\\\\\\N\"")
-       ZEND_ARG_TYPE_INFO(0, fields, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, fields, IS_STRING, 1, "null")
 ZEND_END_ARG_INFO()
 
 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromFile, 0, 0, 2)
@@ -14,14 +14,14 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromFile, 0, 0, 2)
        ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 0, "\"\\t\"")
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, null_as, IS_STRING, 0, "\"\\\\\\\\N\"")
-       ZEND_ARG_TYPE_INFO(0, fields, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, fields, IS_STRING, 1, "null")
 ZEND_END_ARG_INFO()
 
 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_PGSql_Ext_pgsqlCopyToArray, 0, 0, 1)
        ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0)
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, delimiter, IS_STRING, 0, "\"\\t\"")
        ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, null_as, IS_STRING, 0, "\"\\\\\\\\N\"")
-       ZEND_ARG_TYPE_INFO(0, fields, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, fields, IS_STRING, 1, "null")
 ZEND_END_ARG_INFO()
 
 #define arginfo_class_PDO_PGSql_Ext_pgsqlCopyToFile arginfo_class_PDO_PGSql_Ext_pgsqlCopyFromFile