Changes   [plain text]

Changes for Perl extension DBD-SQLite

1.29 Fri  8 Jan 2010
    - Updated to SQLite 3.6.22 (DUNCAND)

1.28_02 Sun  3 Jan 2010
    - Now empty (or comment only) statements won't cause segv
      or "not an error" errors. Spotted by TOKUHIROM. (ISHIGAKI)
    - Resolved #52573: previous fix always turned on the AutoCommit
      flag; it goes along with the behavior of the internal library
      but broke compat. (ISHIGAKI)
    - Removed the SQLITE_CORE and SQLITE_PRT_SZ flags at the recommendation
      of the SQLite mailing list. (ADAMK)

1.28_01 Tue 22 Dec 2009
    - Updated to SQLite 3.6.21 (ISHIGAKI)
    - silence warnings on HP-UX (HMBRAND)
    - Resolved #52573: Manual Transaction handling seems to be
      broken (hopefully) (ISHIGAKI)

1.27 Mon 23 Nov 2009
    - Switching to a production version

1.26_07 Sun 15 Nov 2009
    - 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)

1.26_06 Wed 28 Oct 2009
    - 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)

1.26_05 Thu 15 Oct 2009
    - Updated to SQLite 3.6.19 (ISHIGAKI)

1.26_04 Tue 6 Oct 2009
    - 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.
    - Added documentation and an 'Escape' attribute for $sth->table_info.

1.26_03 Wed 12 Aug 2009
    - 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/ 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
    - META.yml requires is now generated instead of being derived from the
      (incorrect) PREREQ_PM values by ExtUtils::MakeMaker (ADAMK)

1.26_02 Fri 19 Jun 2009
    - 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'
    - 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)

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

1.25 Thu 23 Apr 2009
    - Amalgamation conversion turned out to be quicker than expected.
    - Changing to a production release.  (ADAMK)

1.24_02 Wed 22 Apr 2009
    - Merging various externally-contributed annotations from (ADAMK)
    - Created the beginnings of a DBD::SQLite::Cookbook (ADAMK)

1.24_01 Wed 22 Apr 2009
    - Moved into util (ADAMK)
    - Switching to the RT queue instead of the RT report page that
      does nothing and just refers you to email (ADAMK)
    - Now DBD::SQLite also uses amalgamated source recommended at (ISHIGAKI)
    - Resolved #45166: better unicode path handling under cygwin (ISHIGAKI)
    - Resolved #45171: test failure on CentOS 4.6 (ISHIGAKI)

1.23 Sun 19 Apr 2009
    - No changes from 1.22_08, just switched to production release (ADAMK)

1.22_08 Fri 17 Apr 2009
    - Completed the migration of all tests and deleted (ADAMK)
    - Prevented a double "commit is innefective" warning (ADAMK)
    - Adding a version for the dependency (ADAMK)

1.22_07 Thu 16 Apr 2009
    - Improved non-latin unicode filename support/test
      on Windows (SZABGAB/ISHIGAKI)
    - Removed the table name generator from t/,
      getting us closer to removing t/ entirely (ADAMK)
    - Increased use of Test::NoWarnings (ADAMK)
    - Converted half the remaining tests to t::lib::Test (ADAMK)
    - Require on Windows (CHORNY)

1.22_06 Wed 15 Apr 2009
    - Simplifying various miscellaneous code (ADAMK)
    - Adding support for non-latin unicode filenames on Windows (ADAMK)

1.22_05 Wed 15 Apr 2009
    - Hopefully the last dev release before the next production release.
    - Updated to SQLite 3.6.13 (DUNCAND)
    - Setting svn:eol-style to native to prevent EOL issues (ADAMK)
    - Resolved #44861: tweaked Makefile.PL to support older HP-UX (ISHIGAKI)

1.22_04 Sat 11 Apr 2009 
    - Adding support parsing attributes out of the DSN (ADAMK)
    - Inserted pTHX_/aTHX_ for better efficiency (suggested in #44884 by TIMB) (ISHIGAKI)
    - Dropping support for uncode before 5.8.5 to simplify support and
      to prevent people hurting themselves on platforms that don't
      properly support Unicode anyway (ADAMK)
    - Stopped guessing if a bind param looks like a number or not
      (suggested by GUIDO). This reopens #29058 and #29629, but
      there are two workarounds for them. 1) Use "bind_param"
      explicitly (rather than plain "execute", as you do for BLOB).
      2) Add "+0" to the appropriate part(s) of your SQL to let
      sqlite convert them into a number. (ISHIGAKI)

1.22_03 Thu 10 Apr 2009
    - Resolved #44876: Patch to fix includes in the SQLITE_LOCATION case by janus (ISHIGAKI)
    - Added PERL_NO_GET_CONTEXT for efficiency (suggested in #44884 by TIMB) (ISHIGAKI)
    - Refactored error handling (suggested in #44884, #44871 by TIMB) (ISHIGAKI)

1.22_02 Wed  9 Apr 2009
    - Added missing documentation bits for 'create_collation'
      and 'progress_handler' (DAMI)
    - Resolved RT#25924 (Arguments to user-defined functions do not
      respect unicode setting) (DAMI)
    - Added comments on the return values on error, and fixed another
      wrong return value in execute (ISHIGAKI)
    - Added SQL_NULLABLE_UNKNOWN; still wonders if the error above
      should be ignored or not (ISHIGAKI)

1.22_01 Wed  9 Apr 2009
    - Resolved #25371: Calls sv_utf8_upgrade on strings going into
       the database to make sure latin-1 strings are not saved as
       Malformed UTF-8 character in the SQLite TEXT column (MIYAGAWA)

1.21 Wed  9 Apr 2009
    - Fixed the issue that execute on inactive handles returned
      0 instead of undef, which made a DBIC test broken (ISHIGAKI)

1.20 Mon  7 Apr 2009
    - Moving to the first production release of the new era.
    - Check DBI version in Makefile.PL (CHORNY)
    - Bundling Test::NoWarings into /inc to remove a dependency (ADAMK)
    - Correcting use 5.00503 to 5.006 in (ADAMK)

1.19_10 Mon  6 Apr 2009
    - A few more tests moved to Test::More (ADAMK)
    - We need DBIXS_REVISION, which appeared in DBI 1.57.
      Bumping up our dependency to match it and confirmed myself
      that DBD::SQLite actually builds against 1.57 (ADAMK)
    - Resolved #40594: $sth->{NULLABLE} implementation (ISHIGAKI)
    - Resolved #29629: sqlite where length issue (actually this has
      been fixed before) (ISHIGAKI)
    - Applied an enable_load_extension patch from RT #32998 (ISHIGAKI)
    - Resolved #42940: DBD-SQLite make test faild (ADAMK)
    - Resolved #26460: Sorting numeric values in aggregate functions (ADAMK)
    - Resolved #32889: prepare_cached does not work correctly (ADAMK)
    - Resolved #34828: Please add support for user-defined collations (ADAMK)
    - Made Test::NoWarnings an optional module (CORION)

1.19_09 Sun  5 Apr 2009
    - Require perl 5.6 because dependencies require it
    - Updated ppport.h to the most recent release 3.17 (ADAMK)
    - Adding $DBI::VERSION diag to help diagnose FAIL reports (ADAMK)
    - #29519 was only resolved on Win32. Applied a more comprehensive
      patch (JHEDDEN)
    - Rewrote 28_schemachange.t in Test::More style (ADAMK)
    - Bug fix in 28_schemachange.t rewrite re fork/connect (DUNCAND)
    - Resolved #44779: [t/03insert.t] last_insert_id returns undef where 4
      is expected (DUNCAND, CHORNY; that is, DUNCAND debugged and solved
      the ticket based on _08, which was a flaw in the Makefile.PL
      involving an always-applied -Dno_last_insert_id, but it turns out
      CHORNY had inadvertantly applied the fix in the name of DBI cleaning)
    - Starting to use Test::NoWarnings in the test scripts (ADAMK)
    - Added link to MailingList resource (ADAMK)
    - Squelch warnings inless PrintWarn is set in line with guidance from
      the DBI documentation (ADAMK)
    - Resolved #29058: don't quote a bind param (as a text) if it
      looks like a number (ISHIGAKI)
    - Resolved #27553: prepare_cached and analyze issue (actually
      this has been fixed before) (ISHIGAKI)

1.19_08 Sat  4 Apr 2009
    - Bumped minimum DBI dependency to 1.43 so last_insert_id is supported
      in DBI (ADAMK)
    - Resolved #30558: INSERT After PK Failure Also Fails Using
      Prepared (ADAMK)
    - Resolved #42567: Core dump in t/07busy.t after test 4 (mutex and/or
      memory corruption) (ADAMK)
    - Resolved #32100: t/06error.t fails using SQLite 3.5.4 (ADAMK)
    - Resolved #35904: Test failure: Bus error t/08create_function
      test (ADAMK)
    - Resolved #9792: Crashes upon re-executing a statement (ADAMK)
    - Resolved #21472: Spurious "not an error" and "bind or column index
      out of range" errors (MSERGEANT)
    - Resolved #32723: last_insert_rowid should handle sqlite_int64,
      not int (ADAMK)
    - Resolved #37215: memory leaks in sqlite_db_disconnect (ADAMK)
    - Resolved #33441: unlimited memory accumulation (ADAMK)
    - Resolved #31324: Incorrect Implementation of column names within
      sqlite_st_FETCH_attrib (ADAMK)
    - Resolved #32570: segmentation fault during tests 07 & 08 (ADAMK)
    - Resolved #41631: Dot doesn't work in quoted column aliases (ADAMK)
    - Resolved #403: test failure on "Testing select speed (large table) (ADAMK)
    - Resolved #35769: dbimp.c uses uninitialized variables. (ADAMK)
    - Resolved #27701 and #27702: (unnamed) (ADAMK)
    - Resolved #31239: prepare_cached...statement handle
      DBIx::ContextualFetch::st=HASH still Active (ADAMK)
    - Resolved #41047: Re: Bug#506157: libdbd-sqlite3-perl: unsufficient
      error message while opening database for writing (ADAMK)
    - Resolved #25196 (bug in prepare?) (ADAMK)\
    - Resolved #36651: Bug involving "closing dbh with active
      statement handles" (ADAMK)
    - Resolved #34408: Primary key name wrong with newline in
    - Resolved #34600: t/06_error.t stalling (ADAMK)
    - Resolved #22688: DBD::SQLITE Error Report (ADAMK)

1.19_07 Sat  4 Apr 2009
    - Starting to work the RT queue now the basics are settled.
      Many of the items marked as resolved by my just indicate that I have
      confirmed someone else applied the fix. (ADAMK)
    - Re-enable and fix t/70schemachange.t, as per RT #43448 (CORION)
    - Added a canary test to probe for RT #36863
      (segfault on OSX 10.5.2) (CORION)
    - Added resources links to META.yml (ADAMK)
    - Resolved #30502: t\70schemachange.t fails on Windows (ADAMK)
    - Resolved #30167: Specify configuration depenencies with
      "configure_requires" (ADAMK)
    - Resolved #17623: make test fails when DBI_DSN is not
      DBD::SQLite (ADAMK)
    - Resolved #13631: wish: column_info support() (CORION)
    - Resolved #39938: Read-access to development repository (ADAMK)
    - Resolved #18617: Build error under win32 (ADAMK)
    - Resolved #35838: support for DBI::column_info call (CORION)
    - Resolved #29497: POD content bug (ADAMK)
    - Resolved #29520: 1.14 fails in test 6 (ADAMK)
    - Resolved #44647: Makefile.PL syntax error (ADAMK)
    - Resolved #29519: t/70schemachange.t failure (ADAMK)
    - Resolved #20286: DBD::SQLite leaks file descriptors (ADAMK)
    - Resolved #21406: DBD-SQLite 1.13 broke Class-DBI (ADAMK)
    - Resolved #4591: Test suite (t/t50*.t) is order dependent / bug in
      t/ (ADAMK)
    - Resolved #36467: Name "DBD::SQLite::sqlite_version" used
      only once (ADAMK)
    - Resolved #7753: DBD::SQLite error shouldn't include extraneous
      info (ADAMK)

1.19_06 Sat  4 Apr 2009
    - Fixed a segv with an error function under x86 linux
      (and hopefully Mac OSX). (TOKUHIROM)
    - Fixed yet another segv while testing DBIC reconnection (DMAKI)
    - Switched from to Test::More (though there're still
      some tests that don't use Test::More) (ISHIGAKI)
    - Added "use strict" to some. (ISHIGAKI)
    - Added a cleanup block to each test to allow it run clean and
      separately. (ISHIGAKI)
    - Adding an explicit minimum Perl version to the Makefile.PL (ADAMK)
    - Setting configure_requires dependencies for File::Spec
    - Splitting the LICENSE key into it's own MakeMaker
      version-dependency conditional (ADAMK)
    - All tests run under the same Perl environment
      (autoflush on, and warnings enabled via $^W = 1) (ADAMK)
    - Refactored away a ton of needless complexity from the
      older-style tests inherited from the CSV driver (ADAMK)

1.19_05 Thu  2 Apr 2009
    - DBD::SQLite::Amalgamation and DBD::SQLite 1.19
      should be feature identical now.
    - Added collations from DBD::SQLite::Amalgamation (CORION)
    - Removed statement handle activation after "execute" if
      there's no row to fetch. I hope this silences the
      Class::DBI's warnings. (ISHIGAKI)

1.19_04 Tue 31 Mar 2009
    - Updated to SQLite 3.6.12 (ISHIGAKI)

1.19_03 Tue 31 Mar 2009
    - Added ->column_info() (CORION)

1.19_02 Sun 29 Mar 2009
    - Updated to SQLite 3.6.11 (ISHIGAKI)
    - Added/updated several prototypes (ISHIGAKI)
    - Moved TODO into the POD (ADAMK)

1.19_01 Fri 27 Mar 2009
    - Updated to SQLite 3.6.10, and bumped up the version
      requirement for installed sqlite3 to 3.6.0 as 3.6.x
      has backward incompatiblity (ISHIGAKI)
    - Fixed "closing dbh with active statement handles" issue
      with a patch by TOKUHIROM. (ISHIGAKI)
    - Skip 70schemachange test for Windows users. (ISHIGAKI)
    - Applied RT patches including #29497, #32723, #30558,
      #34408, #36467, #37215, #41047. (ISHIGAKI)
    - Added TODO to show which issues are to be fixed. (ISHIGAKI)
    - License and configure_requires in Makefile.PL and META.yml (Alexandr Ciornii)
    - Spelling check for (Alexandr Ciornii)
    - Adding arbitrary Perl 5.00503 minimum

1.16 abandoned

1.15 abandoned

    - Updated to SQLite 3.4.2
    - Switch to sqlite3_prepare_v2 which fixes a number of bugs
      with re-using statements
    - Fix bug with overflowing integers in user defined functions
    - Fix bug when building under no-threads perl

	- A number of bug fixes from RT.
	- Support named bind parameters

	- Brought up to date with SQLite 3.3.5

    - Make blobs work transparently (without SQLBLOB binding)

    - Fix Unicode support (DOMQ)
    - Support usleep on all Linux (inc. debian) (DOMQ)
    - Upgrade to sqlite 3.2.7
    - Document how to use BLOBS

    - Support external SQLite library (rjray)
    - Don't convert things that look like numbers to numbers unless
      specifically requested.
    - Upgrade to sqlite 3.2.2

    - Support 64 bit integers (uses floating point numbers when perl is not 
        compiled with 64 bit int support). This also fixes issues with using
        sqlite timestamps.
    - Upgrade to sqlite 3.1.3
    - Fix issues of not finding rows when providing a number that perl sees as
        a string.
    - Fixes for most current bugs in RT (see to check if your
      favourite bug got fixed).
    - Fix for a memory leak (spotted by Joel Noble)
    - Update to sqlite 3.0.8 (fixes bug on Solaris-sparc)

    - Resolve symbol conflicts on mac os x.
    - Fix define in WriteMakefile lacking space.
    - Fix DBI prereq in Makefile.PL
    - Update to sqlite 3.0.7

    - Enabled HAVE_USLEEP where available which should massively
      improve concurrent usage of DBD::SQLite
    - Update to sqlite 3.0.6

    - Patched to make it compile on Windows (Steve Hay)
    - Fetch next row at end of DBI's fetch() so that one-row
      selects don't need to call ->finish(). This restores DBD::SQLite
      0.31's behaviour (and should make popfile work again)
    - last_insert_id will only work on DBI 1.43, so enforce that
    - Use snprintf from sqlite library to improve portability

    - Update to sqlite 3.0.4
    - More bug fixes
    - Don't hang forever when db is BUSY
    - Make trace macro work where vararg macros don't

    - Cleanup docs
    - More bug fixes

    - Bug fixes
    - Implement get_info

    - Port to sqlite3 API
    - Support bind types SQL_BLOB, SQL_NUMBER, SQL_TEXT etc
    - Support $dbh->last_insert_id()
    - Added timeout API

    - Fixed a free() bug on Win32
    - Silence warnings in test suite
    - Updated to sqlite 2.8.12

    - Updated to sqlite 2.8.11
    - A few minor bugs fixed

    - Updated to sqlite 2.8.7
    - A number of bugs fixed

    - Perl 5.8.0 removed long deprecated SvOK_off()
    - Aliases for perl_call_*
    - Updated to sqlite 2.8.6
    - use sqlite_freemem everywhere

    - Changed API to use sqlite streaming API. This makes things slightly
      slower for large result sets, at the benefit of being more "sane"

    - Update to sqlite 2.8.5
    - Automatic binary encoding added (via a flag)
    - Better - now deals with new files
    - Extension functions and aggregates can be created in
      perl space now.

    - Fixed Makefile.PL to no longer try creating a .c file to determine
      the OS ptrsize - use directly in the DEFINE
    - Major updates from Tim Bunce to bring DBD::SQLite in line with
      the DBI spec and other drivers, including:
      - Support for table_info_all() and primary_key_info()
      - $sth->{NAME} updates
      - execute() returns number of rows updated
      - $dbh->{sqlite_version} returns the SQLite version in use
      - $dbh->{sqlite_encoding} returns the SQLite encoding in use
      - Improved trace debugging
      - Improved error handling
      (many MANY thanks to Tim for all these patches!)
    - Updated to sqlite 2.8.0

    - Fixed major crash bug affecting Mac OS X
    - Removed from distribution
    - Upgraded to sqlite 2.7.6

    - Fixed unicode tests

    - Merge with sqlite 2.7.4

    - Ooops - forgot new opcodes files from MANIFEST

    - Port to SQLite 2.7.2
    - Fixed bug in not freeing memory if you re-execute a $sth

    - Upgrade to SQLite 2.6.3 - this now allows databases to work across
      different endian architectures.

    - Upgraded to SQLite 2.5.6 - All users are advised to upgrade
      due to a corruption bug in SQLite 2.4.0 - 2.5.6

    - Upgraded to SQLite 2.5.3
    - Fixed
    - Upgraded to SQLite 2.5.0

    - Upgraded to SQLite 2.4.5

    - Added NoUTF8Flag option, so that returned strings don't get flagged
      with SvUTF8_on() - needed when you're storing non-unicode in the database

    - Upgraded to SQLite 2.4.3
    - Added script to download sqlite core library when it's upgraded

    - Upgraded to SQLite 2.4.2

    - Upgraded to SQLite 2.4.0, which adds views, subqueries, new builtin
      functions, performance, and even sheds some weight
    - Changed transaction support to only BEGIN TRAN when you execute some
      SQL, which should improve locking problems.

    - Fixed missing SQLiteXS.h from 0.09

    - Updated to SQLite 2.3.3, and some file cleanups to make that easier
      next time.

    - Last of the mem leaks fixed
    - Doc fix on last_insert_rowid

    - Memory leak fixes (though still leaks some, beware)
    - Some API cleanups and test cleanups
    - Added last_insert_rowid() method and docs

    - Win32 and 5.00404 build fixes
    - Added some more performance tests to
    - Make sure to set $sth->{Active} only on selects

    - Added all DBD::CSV tests (ported, of course)
    - Fixed bugs that the above revealed.

    - Fix multiple placeholders bug

    - Fixed multiple execute on single $sth

    - Fixed transactions

0.01  Sat Feb 16 16:10:42 2002
    - original version; created by h2xs 1.20 with options
        -A -X -n DBD::SQLite