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