From 35bb7816ac764345548ebd106709bcdd8871e862 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Fri, 27 Jun 2025 22:28:25 +0200 Subject: [PATCH] Remove HAVE_SQLITE3_{CLOSE_V2,ERRSTR} As of PHP 8.5 the minimum required SQLite library is 3.7.17, and this removes the following preprocessor macros checks: - HAVE_SQLITE3_CLOSE_V2 (sqlite3_close_v2() function is available since SQLite 3.7.14.) - HAVE_SQLITE3_ERRSTR (sqlite3_errstr() function is available since SQLite 3.7.15) - SQLITE_VERSION_NUMBER should be now always greater than 3006011 (3.6.11). --- ext/pdo_sqlite/config.m4 | 6 ------ ext/pdo_sqlite/config.w32 | 1 - ext/pdo_sqlite/sqlite_driver.c | 4 ---- ext/sqlite3/config.w32 | 1 - ext/sqlite3/config0.m4 | 6 ------ ext/sqlite3/sqlite3.c | 8 +------- ext/sqlite3/sqlite3.stub.php | 2 -- ext/sqlite3/sqlite3_arginfo.h | 8 +------- 8 files changed, 2 insertions(+), 34 deletions(-) diff --git a/ext/pdo_sqlite/config.m4 b/ext/pdo_sqlite/config.m4 index eaaee6182bfe2..7b7700481a30d 100644 --- a/ext/pdo_sqlite/config.m4 +++ b/ext/pdo_sqlite/config.m4 @@ -9,12 +9,6 @@ if test "$PHP_PDO_SQLITE" != "no"; then PHP_SETUP_SQLITE([PDO_SQLITE_SHARED_LIBADD]) - PHP_CHECK_LIBRARY([sqlite3], [sqlite3_close_v2], - [AC_DEFINE([HAVE_SQLITE3_CLOSE_V2], [1], - [Define to 1 if SQLite library has the 'sqlite3_close_v2' function.])], - [], - [$PDO_SQLITE_SHARED_LIBADD]) - PHP_CHECK_LIBRARY([sqlite3], [sqlite3_column_table_name], [AC_DEFINE([HAVE_SQLITE3_COLUMN_TABLE_NAME], [1], [Define to 1 if SQLite library was compiled with the diff --git a/ext/pdo_sqlite/config.w32 b/ext/pdo_sqlite/config.w32 index d1f94438925da..d6162278abedf 100644 --- a/ext/pdo_sqlite/config.w32 +++ b/ext/pdo_sqlite/config.w32 @@ -8,7 +8,6 @@ if (PHP_PDO_SQLITE != "no") { ADD_EXTENSION_DEP('pdo_sqlite', 'pdo'); AC_DEFINE("HAVE_SQLITE3_COLUMN_TABLE_NAME", 1, "Define to 1 if SQLite library was compiled with the SQLITE_ENABLE_COLUMN_METADATA and has the 'sqlite3_column_table_name' function."); - AC_DEFINE("HAVE_SQLITE3_CLOSE_V2", 1, "Define to 1 if SQLite library has the 'sqlite3_close_v2' function."); ADD_MAKEFILE_FRAGMENT(); } else { WARNING("pdo_sqlite not enabled; libraries and/or headers not found"); diff --git a/ext/pdo_sqlite/sqlite_driver.c b/ext/pdo_sqlite/sqlite_driver.c index 2c907a34f489b..00790afd33c9f 100644 --- a/ext/pdo_sqlite/sqlite_driver.c +++ b/ext/pdo_sqlite/sqlite_driver.c @@ -159,11 +159,7 @@ static void sqlite_handle_closer(pdo_dbh_t *dbh) /* {{{ */ pdo_sqlite_cleanup_callbacks(H); if (H->db) { -#ifdef HAVE_SQLITE3_CLOSE_V2 sqlite3_close_v2(H->db); -#else - sqlite3_close(H->db); -#endif H->db = NULL; } if (einfo->errmsg) { diff --git a/ext/sqlite3/config.w32 b/ext/sqlite3/config.w32 index f99e4eb281dcc..98b46715d2fe1 100644 --- a/ext/sqlite3/config.w32 +++ b/ext/sqlite3/config.w32 @@ -7,7 +7,6 @@ if (PHP_SQLITE3 != "no") { EXTENSION("sqlite3", "sqlite3.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); AC_DEFINE("HAVE_SQLITE3", 1, "Define to 1 if the PHP extension 'sqlite3' is available."); - AC_DEFINE("HAVE_SQLITE3_ERRSTR", 1, "Define to 1 if SQLite library has the 'sqlite3_errstr' function."); AC_DEFINE("HAVE_SQLITE3_EXPANDED_SQL", 1, "Define to 1 if SQLite library has the 'sqlite3_expanded_sql' function."); } else { WARNING("sqlite3 not enabled; libraries and/or headers not found"); diff --git a/ext/sqlite3/config0.m4 b/ext/sqlite3/config0.m4 index 453108f692a6d..ada1e351d4363 100644 --- a/ext/sqlite3/config0.m4 +++ b/ext/sqlite3/config0.m4 @@ -9,12 +9,6 @@ if test $PHP_SQLITE3 != "no"; then AC_DEFINE([HAVE_SQLITE3], [1], [Define to 1 if the PHP extension 'sqlite3' is available.]) - PHP_CHECK_LIBRARY([sqlite3], [sqlite3_errstr], - [AC_DEFINE([HAVE_SQLITE3_ERRSTR], [1], - [Define to 1 if SQLite library has the 'sqlite3_errstr' function.])], - [], - [$SQLITE3_SHARED_LIBADD]) - PHP_CHECK_LIBRARY([sqlite3], [sqlite3_expanded_sql], [AC_DEFINE([HAVE_SQLITE3_EXPANDED_SQL], [1], [Define to 1 if SQLite library has the 'sqlite3_expanded_sql' function.])], diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 21b6840a8d1b2..6a55343289c80 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -143,11 +143,7 @@ PHP_METHOD(SQLite3, open) rc = sqlite3_open_v2(fullpath, &(db_obj->db), flags, NULL); if (rc != SQLITE_OK) { zend_throw_exception_ex(zend_ce_exception, 0, "Unable to open database: %s", -#ifdef HAVE_SQLITE3_ERRSTR - db_obj->db ? sqlite3_errmsg(db_obj->db) : sqlite3_errstr(rc)); -#else - db_obj->db ? sqlite3_errmsg(db_obj->db) : ""); -#endif + db_obj->db ? sqlite3_errmsg(db_obj->db) : sqlite3_errstr(rc)); sqlite3_close(db_obj->db); if (fullpath != filename) { efree(fullpath); @@ -1332,7 +1328,6 @@ PHP_METHOD(SQLite3, setAuthorizer) /* }}} */ -#if SQLITE_VERSION_NUMBER >= 3006011 /* {{{ Backups the current database to another one. */ PHP_METHOD(SQLite3, backup) { @@ -1386,7 +1381,6 @@ PHP_METHOD(SQLite3, backup) RETURN_TRUE; } /* }}} */ -#endif /* {{{ Returns the number of parameters within the prepared statement. */ PHP_METHOD(SQLite3Stmt, paramCount) diff --git a/ext/sqlite3/sqlite3.stub.php b/ext/sqlite3/sqlite3.stub.php index 54a7b41ec5576..1a51f9dc3d853 100644 --- a/ext/sqlite3/sqlite3.stub.php +++ b/ext/sqlite3/sqlite3.stub.php @@ -199,10 +199,8 @@ public function busyTimeout(int $milliseconds): bool {} public function loadExtension(string $name): bool {} #endif -#if SQLITE_VERSION_NUMBER >= 3006011 /** @tentative-return-type */ public function backup(SQLite3 $destination, string $sourceDatabase = "main", string $destinationDatabase = "main"): bool {} -#endif /** @tentative-return-type */ public static function escapeString(string $string): string {} diff --git a/ext/sqlite3/sqlite3_arginfo.h b/ext/sqlite3/sqlite3_arginfo.h index 54ca70cad5c53..f7ae9f4b5658f 100644 --- a/ext/sqlite3/sqlite3_arginfo.h +++ b/ext/sqlite3/sqlite3_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: da91c32c6070c808d6e1b01894b5f8beedda7b45 */ + * Stub hash: 247f02e9b12b901b36bb863cf2a8e73b3d97a191 */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SQLite3___construct, 0, 0, 1) ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) @@ -41,13 +41,11 @@ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SQLite3_loadExte ZEND_END_ARG_INFO() #endif -#if SQLITE_VERSION_NUMBER >= 3006011 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SQLite3_backup, 0, 1, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, destination, SQLite3, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, sourceDatabase, IS_STRING, 0, "\"main\"") ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, destinationDatabase, IS_STRING, 0, "\"main\"") ZEND_END_ARG_INFO() -#endif ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SQLite3_escapeString, 0, 1, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) @@ -193,9 +191,7 @@ ZEND_METHOD(SQLite3, busyTimeout); #if !defined(SQLITE_OMIT_LOAD_EXTENSION) ZEND_METHOD(SQLite3, loadExtension); #endif -#if SQLITE_VERSION_NUMBER >= 3006011 ZEND_METHOD(SQLite3, backup); -#endif ZEND_METHOD(SQLite3, escapeString); ZEND_METHOD(SQLite3, prepare); ZEND_METHOD(SQLite3, exec); @@ -246,9 +242,7 @@ static const zend_function_entry class_SQLite3_methods[] = { #if !defined(SQLITE_OMIT_LOAD_EXTENSION) ZEND_ME(SQLite3, loadExtension, arginfo_class_SQLite3_loadExtension, ZEND_ACC_PUBLIC) #endif -#if SQLITE_VERSION_NUMBER >= 3006011 ZEND_ME(SQLite3, backup, arginfo_class_SQLite3_backup, ZEND_ACC_PUBLIC) -#endif ZEND_ME(SQLite3, escapeString, arginfo_class_SQLite3_escapeString, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) ZEND_ME(SQLite3, prepare, arginfo_class_SQLite3_prepare, ZEND_ACC_PUBLIC) ZEND_ME(SQLite3, exec, arginfo_class_SQLite3_exec, ZEND_ACC_PUBLIC)