Merge 'trunk' into 'mssql_limit_regression'
Peter Rabbitson [Sat, 9 Jan 2010 10:39:35 +0000 (10:39 +0000)]
r8277@Thesaurus (orig r8265):  ribasushi | 2010-01-09 02:16:14 +0100
 r8263@Thesaurus (orig r8251):  ribasushi | 2010-01-08 15:43:38 +0100
 New branch to find a leak
 r8264@Thesaurus (orig r8252):  ribasushi | 2010-01-08 15:52:46 +0100
 Weird test failures
 r8272@Thesaurus (orig r8260):  ribasushi | 2010-01-09 01:24:56 +0100
 Proper invocation
 r8273@Thesaurus (orig r8261):  ribasushi | 2010-01-09 01:35:34 +0100
 Test for the real leak reason
 r8274@Thesaurus (orig r8262):  ribasushi | 2010-01-09 01:37:33 +0100
 Void ctx as it should be
 r8275@Thesaurus (orig r8263):  ribasushi | 2010-01-09 02:10:13 +0100
 A "fix" for sqlt-related schema leaks
 r8276@Thesaurus (orig r8264):  ribasushi | 2010-01-09 02:15:53 +0100
 Changes

1  2 
Changes
lib/DBIx/Class/Schema.pm

diff --combined Changes
+++ b/Changes
@@@ -1,7 -1,6 +1,7 @@@
  Revision history for DBIx::Class
  
          - Perl 5.8.1 is now the minimum supported version
 +        - Subqueries no longer marked experimental
          - might_have/has_one now warn if applied calling class's column
            has is_nullable set to true.
          - Fixed regression in deploy() with a {sources} table limit applied
            parsed by SQL::Translator::Parser::DBIx::Class
          - Schema POD improvement for dclone
          - Fix regression in context sensitiveness of deployment_statements
 +        - Fix regression resulting in overcomplicated query on
 +          search_related from prefetching resultsets
 +        - Better isolation of RNO-limited queries from the rest of a
 +          prefetching resultset
 +        - New MSSQL specific resultset attribute to allow hacky ordered
 +          subquery suppot
+         - Fix nasty schema/dbhandle leak due to SQL::Translator
  
  0.08115 2009-12-10 09:02:00 (CST)
          - Real limit/offset support for MSSQL server (via Row_Number)
diff --combined lib/DBIx/Class/Schema.pm
@@@ -5,7 -5,7 +5,7 @@@ use warnings
  
  use DBIx::Class::Exception;
  use Carp::Clan qw/^DBIx::Class/;
- use Scalar::Util qw/weaken/;
+ use Scalar::Util ();
  use File::Spec;
  use Sub::Name ();
  use Module::Find();
@@@ -1083,7 -1083,7 +1083,7 @@@ sub deployment_statements 
    $self->storage->deployment_statements($self, @_);
  }
  
 -=head2 create_ddl_dir (EXPERIMENTAL)
 +=head2 create_ddl_dir
  
  =over 4
  
@@@ -1295,7 -1295,7 +1295,7 @@@ sub _register_source 
  
    $source = $source->new({ %$source, source_name => $moniker });
    $source->schema($self);
-   weaken($source->{schema}) if ref($self);
+   Scalar::Util::weaken($source->{schema}) if ref($self);
  
    my $rs_class = $source->result_class;