From 3416f1abc98ed96de8d9edbee0a539dce7791d1d Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Tue, 12 Nov 2024 12:26:07 -0500 Subject: [PATCH] Compile support for SQLITE_DBPAGE https://www.sqlite.org/dbpage.html --- ext/sqlite3/extconf.rb | 3 ++- test/test_database.rb | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ext/sqlite3/extconf.rb b/ext/sqlite3/extconf.rb index d5243bb4..88f86d14 100644 --- a/ext/sqlite3/extconf.rb +++ b/ext/sqlite3/extconf.rb @@ -62,7 +62,8 @@ def configure_packaged_libraries "-O2", # see https://github.com/sparklemotion/sqlite3-ruby/issues/335 for some benchmarks "-fvisibility=hidden", # see https://github.com/rake-compiler/rake-compiler-dock/issues/87 "-DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1", - "-DSQLITE_USE_URI=1" + "-DSQLITE_USE_URI=1", + "-DSQLITE_ENABLE_DBPAGE_VTAB=1" ] env["CFLAGS"] = [user_cflags, env["CFLAGS"], more_cflags].flatten.join(" ") recipe.configure_options += env.select { |k, v| ENV_ALLOWLIST.include?(k) } diff --git a/test/test_database.rb b/test/test_database.rb index 19723478..583f0cce 100644 --- a/test/test_database.rb +++ b/test/test_database.rb @@ -721,5 +721,11 @@ def test_transaction_returns_block_result result = @db.transaction { :foo } assert_equal :foo, result end + + def test_sqlite_dbpage_vtab + skip("sqlite_dbpage not supported") unless SQLite3::SQLITE_PACKAGED_LIBRARIES + + assert_nothing_raised { @db.execute("select count(*) from sqlite_dbpage") } + end end end