The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.27

  • Switching to a production version

Changes for version 1.26_07

  • CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
  • Foreign keys support is once again disabled by default. It seems to have a greater impact than we expected and it actually broke things. This feature probably will be enabled by default by the sqlite team in the future, and eventually you'll need to cope with it, but right now we agreed with some discussion to give you more time to be prepared. If you use referential stuff in your schema (which sqlite ignores now) should do extensive testing to ensure that they will work when you issue "PRAGMA foreign_keys = ON". (ISHIGAKI)
  • Updated to SQLite 3.6.20 (DUNCAND)
  • Resolved #50935: there remained old "unicode" attribute usage in the pod, spotted by ASHLEY. (ISHIGAKI)

Changes for version 1.26_06

  • CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
  • Removed undocumented (and most probably unused) reset method from a statement handle (which was only accessible via func().) Simply use "$sth->finish" instead. (ISHIGAKI)
  • Now DBD::SQLite supports foreign key constraints by default. Long-ignored foreign keys (typically written for other DB engines) will start working. If you don't want this feature, issue a pragma to disable foreign keys. (ISHIGAKI)
  • Renamed "unicode" attribute to "sqlite_unicode" for integrity. Old "unicode" attribute is still accessible but will be deprecated in the near future. (ISHIGAKI)
  • You can see file/line info while tracing even if you compile with a non-gcc compiler. (ISHIGAKI)
  • Major code refactoring. (ISHIGAKI)
  • Pod reorganized, and some of the missing bits (including pragma) are added. (ISHIGAKI)

Changes for version 1.26_05

  • Updated to SQLite 3.6.19 (ISHIGAKI)

Changes for version 1.26_04

  • CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
  • Resolved #49716: Fixed $dbh->column_info to work according to the spec in DBI and added support for attached databases. (VLYON)
  • Fixed $sth->primary_key_info to work according to the spec in DBI and changed the tests in t/27_metadata.t to reflect this. (VLYON)
  • Tweaked not to hide a real error by a "not an error" issued by another sqlite3 function between the failed sqlite3 function and the sqlite_error to report. Note that this change makes some failures issue two relevant errors at a time. (ISHIGAKI)
  • Updated to SQLite 3.6.18 (DUNCAND)
  • Resolved #48393: previous effort was not enough; BegunWork should also be handled properly (ISHIGAKI)
  • Replaced last DBILOGFP with DBIc_LOGPIO(imp_xxh) (ISHIGAKI)
  • Tweaked t/08_busy.t not to fail just because it is tested under a very, very slow (virtual) machine. (ISHIGAKI)
  • Added a code to look for a compiler from Module::Install::Can. (ISHIGAKI)
  • Added documentation and an 'Escape' attribute for $sth->table_info. (VLYON)

Changes for version 1.26_03

  • Updated to SQLite 3.6.17 (ISHIGAKI)
  • Switched to use :memory: for most of the tests (ISHIGAKI)
  • Fixed a memory leak when prepare should fail (ISHIGAKI)
  • Added support for commit/rollback/update hooks (DAMI)
  • Added support for set_authorizer (DAMI)
  • Added support for collation_needed(), and reorganised driver API for user-defined collations (DAMI)
  • Exported constants from sqlite3.h into DBD::SQLite namespace (DAMI)
  • Added support in t/lib/Test.pm for checking both versions of driver-private methods ("func" / "sqlite_*") (DAMI)
  • Removed unused and obsolete "list_tables" from SQLite.xs (DAMI)
  • Added a default implementation for the REGEXP infix operator (DAMI)
  • Renamed several internal sqlite3_ functions to sqlite_ for clarity (ISHIGAKI)
  • Accept empty filename at connect (sqlite will open a tempfile) (DAMI)
  • Documented the connect() method (DAMI)
  • Replaced imp_dbh->in_tran with sqlite3_get_autocommit(), hoping this would fix the annoying rollback issues, including #48393 (ISHIGAKI)
  • META.yml requires is now generated instead of being derived from the (incorrect) PREREQ_PM values by ExtUtils::MakeMaker (ADAMK)

Changes for version 1.26_02

  • CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
  • Resolved #46831: table_info schema is incorrect and doesn't work with attached databases (VLYON/ISHIGAKI)
  • Updated to SQLite 3.6.15 (DUNCAND)
  • Resolved #44882: Use of $h->func() should be deprecated and replaced with calls to driver-private 'installed methods' (ISHIGAKI)
  • Added access to Online Backup functionality. (TJC)
  • Added enable_load_extension pod (ISHIGAKI)
  • Now private methods/functions return true after successful calls (#44871) (ISHIGAKI)
  • Removed all of the "croak"s (#44871) (ISHIGAKI)

Changes for version 1.26_01

  • Added ORDINAL_POSITION support for $dbh->column_info (ADAMK)
  • Applied several fixes from GFUJI to clean up code (#45578) (ISHIGAKI)
  • Skipped some of the unicode path tests under cygwin (#45166) (JDHEDDEN)
  • Added some explanation and workarounds for a SQL that compares a return value of a function with a numeric bind value (ISHIGAKI)

Documentation

The DBD::SQLite Cookbook

Modules

Self-contained RDBMS in a DBI Driver

Provides

in lib/DBD/SQLite.pm
in lib/DBD/SQLite.pm
in lib/DBD/SQLite.pm