]> granicus.if.org Git - php/commitdiff
Drop php_pdo_get_exception_base() function
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 11 Aug 2020 15:24:03 +0000 (17:24 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 11 Aug 2020 15:40:39 +0000 (17:40 +0200)
This API is more confusing than helpful.

ext/pdo/pdo.c
ext/pdo/pdo_dbh.c
ext/pdo/php_pdo_int.h

index 9b97ba141641d751c9d308235c469e90da01a86d..a66596ee544720f45ef1d217e8c659b3e2661c41 100644 (file)
@@ -70,15 +70,6 @@ PDO_API char *php_pdo_str_tolower_dup(const char *src, int len) /* {{{ */
 }
 /* }}} */
 
-PDO_API zend_class_entry *php_pdo_get_exception_base(int root) /* {{{ */
-{
-       if (!root) {
-               return spl_ce_RuntimeException;
-       }
-       return zend_ce_exception;
-}
-/* }}} */
-
 /* {{{ Return array of available PDO drivers */
 PHP_FUNCTION(pdo_drivers)
 {
@@ -315,7 +306,7 @@ PHP_MINIT_FUNCTION(pdo)
 
        INIT_CLASS_ENTRY(ce, "PDOException", NULL);
 
-       pdo_exception_ce = zend_register_internal_class_ex(&ce, php_pdo_get_exception_base(0));
+       pdo_exception_ce = zend_register_internal_class_ex(&ce, spl_ce_RuntimeException);
 
        zend_declare_property_null(pdo_exception_ce, "errorInfo", sizeof("errorInfo")-1, ZEND_ACC_PUBLIC);
 
index 7f4df3f9ae3be76fcda28418188261920bf22efe..a7c383bd3ab8021774ce1f831e3f72fae5d5a25c 100644 (file)
@@ -100,12 +100,12 @@ void pdo_raise_impl_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, const char *sqlstate
                php_error_docref(NULL, E_WARNING, "%s", message);
        } else {
                zval ex, info;
-               zend_class_entry *def_ex = php_pdo_get_exception_base(1), *pdo_ex = php_pdo_get_exception();
+               zend_class_entry *pdo_ex = php_pdo_get_exception();
 
                object_init_ex(&ex, pdo_ex);
 
-               zend_update_property_string(def_ex, Z_OBJ(ex), "message", sizeof("message")-1, message);
-               zend_update_property_string(def_ex, Z_OBJ(ex), "code", sizeof("code")-1, *pdo_err);
+               zend_update_property_string(zend_ce_exception, Z_OBJ(ex), "message", sizeof("message")-1, message);
+               zend_update_property_string(zend_ce_exception, Z_OBJ(ex), "code", sizeof("code")-1, *pdo_err);
 
                array_init(&info);
 
@@ -175,12 +175,12 @@ PDO_API void pdo_handle_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt) /* {{{ */
                php_error_docref(NULL, E_WARNING, "%s", ZSTR_VAL(message));
        } else if (EG(exception) == NULL) {
                zval ex;
-               zend_class_entry *def_ex = php_pdo_get_exception_base(1), *pdo_ex = php_pdo_get_exception();
+               zend_class_entry *pdo_ex = php_pdo_get_exception();
 
                object_init_ex(&ex, pdo_ex);
 
-               zend_update_property_str(def_ex, Z_OBJ(ex), "message", sizeof("message") - 1, message);
-               zend_update_property_string(def_ex, Z_OBJ(ex), "code", sizeof("code") - 1, *pdo_err);
+               zend_update_property_str(zend_ce_exception, Z_OBJ(ex), "message", sizeof("message") - 1, message);
+               zend_update_property_string(zend_ce_exception, Z_OBJ(ex), "code", sizeof("code") - 1, *pdo_err);
 
                if (!Z_ISUNDEF(info)) {
                        zend_update_property(pdo_ex, Z_OBJ(ex), "errorInfo", sizeof("errorInfo") - 1, &info);
index 87eb79256e7af4bca2554c86dd3a8d36163627f4..7fe3bfc85023f6c3cb29ed65c20299201fb599df 100644 (file)
@@ -23,7 +23,6 @@
 
 extern HashTable pdo_driver_hash;
 extern zend_class_entry *pdo_exception_ce;
-PDO_API zend_class_entry *php_pdo_get_exception_base(int root);
 int php_pdo_list_entry(void);
 
 void pdo_dbh_init(void);