]> granicus.if.org Git - php/commitdiff
sqlite3 linkage issue on some systems/package combination fix.
authorDavid Carlier <devnexen@gmail.com>
Sat, 15 Aug 2020 13:11:51 +0000 (14:11 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Fri, 21 Aug 2020 13:45:51 +0000 (15:45 +0200)
Checking the version is not enough, the function might be available
but the symbols are not present still.

Closes GH-5993

ext/sqlite3/config.w32
ext/sqlite3/config0.m4
ext/sqlite3/sqlite3.c

index 41eccb5af94ea45849699c8c8609d7050f96c0ba..ab54989e1c403b7d4c108d5580cbd30cee42fd57 100644 (file)
@@ -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");
        }
index 0d607593b742bf868fe88a04dfc356c790070018..e83ec5f224fcad9447b3dd748340c018a0107020 100644 (file)
@@ -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])],
index 80f57a450868c9bacbbc8461edac2885d76ac786..f4d8066ac89133cbef2f1570a81523b59eae336a 100644 (file)
@@ -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);