DBIx::SearchBuilder::Record::Cachable

After some of the recent issues folks have had with
DBIx::SearchBuilder’s overly agressive caching, I started doing some
digging. And found myself a reproducible test case which demonstrates
these issues very nicely in the form of the rt.cpan.org RT3 toolset.
The issues basically come down to:

  • The cache expiry mechanism doesn’t expire data when you want it to
  • The cache expiry mechanism works globally rather than per object
    type, which starts to hurt when you’re trying to enforce different
    behaviour on different object types.
  • The cache expiry mechanism is hopelessly naive and pretty close to
    worst-case.

I got most of the way through a solution on the plane back from
EuroFoo, but ran out of power. More soon.

Jesse