# do a heavy-duty fire-and-compare loop on all resultsets
# this is expensive - not running on install
my $typecounts = {};
- unless (DBICTest::RunMode->is_plain) {
+ unless (DBICTest::RunMode->is_plain or $ENV{DBICTEST_IN_PERSISTENT_ENV}) {
# FIXME - ideally we should be able to just populate an alternative
# registry, subtract everything from the main one, and arrive at
delete $weak_registry->{$addr}
unless $cleared->{hash_merge_singleton}{$weak_registry->{$addr}{weakref}{behavior}}++;
}
+ elsif (
+ # if we can look at closed over pieces - we will register it as a global
+ !DBICTest::Util::LeakTracer::CV_TRACING
+ and
+ $names =~ /^SQL::Translator::Generator::DDL::SQLite/m
+ ) {
+ # SQLT::Producer::SQLite keeps global generators around for quoted
+ # and non-quoted DDL, allow one for each quoting style
+ delete $weak_registry->{$addr}
+ unless $cleared->{sqlt_ddl_sqlite}->{@{$weak_registry->{$addr}{weakref}->quote_chars}}++;
+ }
}
# FIXME !!!