From: David Carlier Date: Sat, 15 Aug 2020 13:11:51 +0000 (+0100) Subject: sqlite3 linkage issue on some systems/package combination fix. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1b21b560741373638b8d1ffe2a4a672717cb6656;p=php sqlite3 linkage issue on some systems/package combination fix. Checking the version is not enough, the function might be available but the symbols are not present still. Closes GH-5993 --- diff --git a/ext/sqlite3/config.w32 b/ext/sqlite3/config.w32 index 41eccb5af9..ab54989e1c 100644 --- a/ext/sqlite3/config.w32 +++ b/ext/sqlite3/config.w32 @@ -8,6 +8,7 @@ if (PHP_SQLITE3 != "no") { AC_DEFINE("HAVE_SQLITE3", 1, "SQLite support"); AC_DEFINE("HAVE_SQLITE3_ERRSTR", 1, "have sqlite3_errstr function"); + AC_DEFINE("HAVE_SQLITE3_EXPANDED_SQL", 1, "have 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 0d607593b7..e83ec5f224 100644 --- a/ext/sqlite3/config0.m4 +++ b/ext/sqlite3/config0.m4 @@ -15,6 +15,10 @@ if test $PHP_SQLITE3 != "no"; then AC_DEFINE(HAVE_SQLITE3_ERRSTR, 1, [have sqlite3_errstr function]) ], [], [$SQLITE3_SHARED_LIBADD]) + PHP_CHECK_LIBRARY(sqlite3, sqlite3_expanded_sql, [ + AC_DEFINE(HAVE_SQLITE3_EXPANDED_SQL, 1, [have sqlite3_expanded_sql function]) + ], [], [$SQLITE3_SHARED_LIBADD]) + PHP_CHECK_LIBRARY(sqlite3,sqlite3_load_extension, [], [AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, [have sqlite3 with extension support])], diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 80f57a4508..f4d8066ac8 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -1651,7 +1651,7 @@ PHP_METHOD(sqlite3stmt, getSQL) } if (expanded) { -#if SQLITE_VERSION_NUMBER >= 3014000 +#ifdef HAVE_SQLITE3_EXPANDED_SQL char *sql = sqlite3_expanded_sql(stmt_obj->stmt); RETVAL_STRING(sql); sqlite3_free(sql);