diff --git a/dbdimp.c b/dbdimp.c index dc7443c..6a6924b 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -703,12 +703,14 @@ sqlite_db_STORE_attrib(SV *dbh, imp_dbh_t *imp_dbh, SV *keysv, SV *valuesv) DBIc_set(imp_dbh, DBIcf_AutoCommit, SvTRUE(valuesv)); return TRUE; } +#if SQLITE_VERSION_NUMBER >= 3007011 if (strEQ(key, "ReadOnly")) { if (SvTRUE(valuesv) && !sqlite3_db_readonly(imp_dbh->db, "main")) { sqlite_error(dbh, 0, "ReadOnly is set but it's only advisory"); } return FALSE; } +#endif if (strEQ(key, "sqlite_allow_multiple_statements")) { imp_dbh->allow_multiple_statements = !(! SvTRUE(valuesv)); return TRUE; diff --git a/t/60_readonly.t b/t/60_readonly.t index 896de1a..711a8a0 100644 --- a/t/60_readonly.t +++ b/t/60_readonly.t @@ -6,9 +6,12 @@ BEGIN { $^W = 1; } -use t::lib::Test qw/connect_ok/; +use t::lib::Test qw/connect_ok requires_sqlite/; use Test::More; use DBD::SQLite::Constants qw/SQLITE_OPEN_READONLY/; + +BEGIN { requires_sqlite('3.7.11') } + use Test::NoWarnings; plan tests => 14;