The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension DBD::Mock.

1.36 October 18, 2007
    - $dbh->last_insert_id() now works as documented
    - Added a "use 5.006;" in order to put a safeguard on the "use warnings;"
      statement a little further down.

1.35 July 9, 2007
    - Applying path from RT #16951 to return 
      new result set for repeated calls to 
      $sth->execute(). Thanks to Marc Beyer for this.
        - added tests for this
    - Fixing RT #25892 to make mock_records method 
      work correctly.
        - added test for this
    - applying patch from RT #26604 to fix AutoCommit 
      behavior. Thanks to Ryan Gerry for this.

1.34 July, 29 2006 
    - Fixed how AutoCommit is handled to avoid $dbh caching (RobK) 
    - Thanks to Chas Owens for patch and test 
      for the mock_can_prepare, mock_can_execute, 
      and mock_can_fetch features.

1.32 Wed Dec 14, 2005
    - Fixed RT Bug #15599
    - Fixed RT Bug #15602
    
    - converted to Module::Build
        - removed the VERSION file, and adjusted the numbers
          in all places needed    

    - added patch from Andrew W. Gibbs to allow the ARRAY 
      version of 'mock_last_insert_id' attribute
        - added test file as well
        - added docs on it too
        
    - $sth->execute now returns the number of rows as per the 
      DBI docs
        - added some tests for this
    
    >> DBD::Mock::Session
        - now allows regexp's in the bound_params list
          so that you can check your params are 'like' 
          something, and not exactly something
        - Improved error messages

0.28 Wen July 13, 2005
    - update to patch from Andrew McHarg <amcharg@acm.org>
      to fix behavior in selectcol_arrayref() methods and tests
    - fix version in META.yml
    - some refactoring of fetchall_hashref(), fetchrow_hashref()
      to incorporate DBD-Mock error handling.

0.27 Mon July 11, 2005
    - added NULL_RESULTSET constant
    - now allowing errors to be set with mock_add_resultset.
      Support is currently experimental, see the file
      't/023_statement_failure.t' and the EXPERIMENTAL section
      of the docs for more information.
    - added patch from Collin Winter to fix a bug in 
      the begin_work(), commit() and rollback() methods
    - added patch from Andrew McHarg <amcharg@acm.org> for 
      the fetchall_hashref(), fetchrow_hashref() and
      selectcol_arrayref() methods and tests

0.26 Fri Apr 08 2005
    - added Rob Kinyon to the AUTHORS list 
    - added get_info() and set_info() 
        - added tests for this
    - added bind_param_inout() for DBD::Mock::st 
      code from Thilo Planz (Thanks Thilo)
        - added tests for this
    - added mock_data_sources and mock_add_data_sources 
      properties for the Driver and Database handles
        - added tests and docs for this
    - added begin_work(), commit() and rollback() method
      implementations which wrap the prepare() method and
      deal with the AutoCommit value per the DBI spec.
        - added tests and docs for this

0.25 Sat Feb 26 2005
    - removed the DBD::Mock::_error_handler routine
      since it was actually redundant with the DBI::set_err
      method. This was actually the source of the RT Bug #11515
      which was found by Shlomi Fish (thanks Shlomi)
        - adjusted some tests for this fix

0.24 Fri Jan 28 2005
    - added the reset() method to the DBD::Mock::Session
      object so that a session can be used more than once.
        - added tests for this
        - added docs for this
    - fixed a bug where the HASH version of 'mock_add_resultset'
      would consume the result sets and they would not be 
      reusable. We now copy the result sets so that every time
      the statement is called the same results are returned
        - did not need to add docs for this, they already 
          documented this as the behavior (hence calling this
          a bug)
        - added tests for this

0.23 Tues Jan 25 2005
    - removed the trace log tests from t/10_db_handle.t
      since they seemed to be a source of issues on Win32.
      My rationale is that it is a DBI thing, and therefore
      does not need to be tested by DBD::Mock. 

    - added a few more tests to t/11_dr_handle.t to test the
      'mock_connect_fail' feature
      
    - added some clarification in the docs about the 
      'mock_connect_fail' feature as well.

0.22 Mon Jan 24 2005
    - added the 'mock_connect_fail' boolean attribute 
      for the DBD::Mock driver handle, this will prevent
      DBI from connecting. It can be used to simulate a
      bad DSN or something like that. 
        - added tests and documentation for this.
        - Thanks to Justin DeVuyst for this idea.

0.21 Sun Jan 16 2005
    > DBD::Mock::Session
    
    - added the optional 'bound_params' slot for the 
      DBD::Mock::Session object
        - added tests for this
        - added documentation for this
        
    - added error to handle cases where there are not 
      enough states in a DBD::Mock::Session object.
        - added tests for this
        - added documentation for this
        
    - added the ability to remove a session (by setting
      it to a false value)
        - added tests for this
        - added documenation for this

    > DBD::Mock

    - added test to check about overwriting hash-based 
      result sets with 'mock_add_resultset' attribute
        - added documentation for this

0.20 Fri Jan 14 2005
    - Modified a set of tests in t/10_db_handle.t to pass on Cygwin.
      Thanks to Rob Kinyon for this code. This code now uses File::Temp
      to make the temp log file in a cross platform manner. If File::Temp
      is not found on the system, then the tests are skipped.
      
0.19 Fri Jan 7 2005
    - changed the VERSION in lib/DBD/Mock.pm to be 1.23, allow me to explain...
      
      Chris Winters (the original author ) used the CVS derived 
      VERSION, which when I took over the module (8 versions ago) 
      was at 1.15. Since I was not using Chris's CVS repo to store this
      I decided to give Mock.pm the VERSION number found in the VERSION
      file. 
    
      Well,... PAUSE's indexer doesn't like it since it is a lower
      number and would complain every time I uploaded a new version.
      I ignored these complaints (at my own peril) until now. 
    
      I found out recently that if you had version 0.11 or below installed 
      (where the Mock.pm was version 1.15 or below), then installing through  
      the CPAN shell would tell you DBD::Mock was up to date, even though it 
      wasn't. So in order to fix this issue, and make sure that all those who
      want to install and update DBD::Mock easily, I changed the version
      number of DBD::Mock to be 1.23 to reflect the number of updates
      I have done since Chris handed it over to me. 
    
      *sigh*
    
      Okay good, thats off my chest now.

0.18 Wed Jan 5 2005
    - added reset() method to the 
      DBD::Mock::StatementTrack::Iterator object
        - added test and docs for this
        
    - added the DBD::Mock::Session object and added
      the support for it in the DBD::Mock driver
        - added tests and docs for this
        - Thanks to Rob Kinyon and Chris Winters for 
          their feedback on this feature

    - some general POD cleanup and formatting

0.17 Thurs Nov 4 2004
    - added the following items:
        - a 'mock_num_rows' attribute which will give you 
          the number of records affected/returned by the
          last statement
        - a num_rows method in the DBD::Mock::StatementTrack 
          object, which is where the above attribute gets it's
          value
    - added the 'rows' method for statement handles (which didnt
      work before)

0.16 Sat Oct 30 2004
    - minor change to the DBD::Mock::StatementTrack::Iterator
      behavior. It no longer derefs the history array, so it
      maintains a reference to it and therefore can be used like
      this:
          get-statement-iterator
          run-query
          check-next-statement-in-iterator
          run-query          
          check-next-statement-in-iterator
          ...
      This prevents the need to re-fetch the iterator after 
      each query. 

0.15 Fri Oct 29 2004
    - added the DBD::Mock::StatementTrack::Iterator
      object which can be accessed from the 
      'mock_all_history_iterator' attribute. 
        - write the docs and test for it

0.14 Fri Oct 29 2004
    - added the mock_last_insert_id attribute
      which will get incremented upon each INSERT
      query run. 
        - added tests and docs for this
    - added the mock_start_insert_id attirbute
      so that you can both reset and set the start
      number for mock_last_insert_id
        - added tests and docs for this
        
    ** EXPERIMENTAL FEATURE (use caution) **
    - added a feature to alias attributes. Basically it
      allows you to alias an expected attribute like 
      'mysql_insertid' to something DBD::Mock already has
      like 'mock_last_insert_id'. 
      Right now this feature is highly experimental, and 
      has been added as a first attempt automatically handle
      some of the DBD specific attributes which are commonly
      used/accessed in DBI programming. 

0.13 Thurs Oct 28 2004
    - added prepare_cached as suggested by Rob Kinyon 
      in RT bug #7331. Also added his test script in
      15_prepare_cached.t

0.12 Thurs Sept 2 2004
** First version maintained by Stevan Little <stevan@iinteractive.com> **
    - built up the test suite to 89.7% coverage
    - removed the undocumented 'mock_auto_commit' since it really
      was not very useful at this point.
    - added the DBD::Mock::Pool functionality
        - added tests for this
        - added documentation for this
    - added pod.t to test suite
    - removed AUTOLOAD in DBD::Mock::StatementTrack and replaced it with
      hand coded methods (sorry I really dislike AUTOLOAD)
    - centralized error handling in DBD::Mock::_error_handler

0.11  Fri Jul 23 10:35:13 EDT 2004

      - Fix CPAN Bug #7057: add a no-op 'disconnect_all()' to
      DBD::Mock::dr to support DBI versions earlier than 1.34.

      - Add the ability to create SQL parsers that get fired on a
      prepare(). This way you can ensure your application generates
      correct SQL and have the system fail at the right time. Thanks
      to Rob Kinyon <Rob.Kinyon@progressive-medical.com> for the idea.

0.10  Sat May  8 14:12:39 EDT 2004

      - Incorporate number of patches from Stevan Little to implement
      'mock_can_connect', which allows you to simulate a downed
      database. Add supporting tests for database and statement usage.

      - Add the ability for 'mock_add_resultset' to associate a
      resultset with a particular SQL statement. Thanks to Stevan for
      the idea.

      - Add documentation for database handle property
      'mock_add_resultset'

0.02  Tue Mar  9 12:56:54 EST 2004

      Add 'VERSION' to MANIFEST, thanks to Mike Castle for the note.

0.01  Sun Mar  7 23:24:24 EST 2004

      Initial version spawned from DBD::NullP shipped with the
      DBI. Many thanks much to Tim Bunce for the pointer and the
      original code.