From: Dagfinn Ilmari Mannsåker Date: Wed, 23 Jan 2013 12:07:33 +0000 (+0000) Subject: Only allow known globals in SQL::Translator leak allowance X-Git-Tag: v0.08206~18 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=60fd7c30379c579285ac4d5c4705025fba980c81;p=dbsrgits%2FDBIx-Class.git Only allow known globals in SQL::Translator leak allowance --- diff --git a/Changes b/Changes index 1b128ad..94974b1 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,8 @@ Revision history for DBIx::Class + * Misc + - Only allow known globals in SQL::Translator leak allowance + 0.08205 2013-01-22 * New Features / Changes - The emulate_limit() arbitrary limit dialect emulation mechanism is diff --git a/t/52leaks.t b/t/52leaks.t index 8f36669..27e4e22 100644 --- a/t/52leaks.t +++ b/t/52leaks.t @@ -361,8 +361,10 @@ for my $slot (keys %$weak_registry) { delete $weak_registry->{$slot}; } elsif ($slot =~ /^SQL::Translator::Generator::DDL::SQLite/) { - # SQLT got much better, but still leaks a little - delete $weak_registry->{$slot}; + # SQLT::Producer::SQLite keeps global generators around for quoted + # and non-quoted DDL, allow one for each quoting style + delete $weak_registry->{$slot} + unless $cleared->{sqlt_ddl_sqlite}->{@{$weak_registry->{$slot}{weakref}->quote_chars}}++; } elsif ($slot =~ /^Hash::Merge/) { # only clear one object of a specific behavior - more would indicate trouble