[Catalyst] Any chance there is an arbitrary limit to how many classes you can load this way...?

Josef Chladek josef.chladek at gmail.com
Tue Oct 9 11:28:34 GMT 2007


Am 09.10.2007 um 11:51 schrieb Dustin Suchter:

> So let's assume I have the below code. Each of the 13 classes
> represent 1 table in the same MySQL db. All class definitions are
> essentially identical in structure and have nothing more complex
> than foreign keys in them.
>
> Here's the weird thing, if I run my code with all 13 classes, my
> default view stops working - it seems to be replaced with the only
> other view I've defined! I only use the other one by manually
> calling 'forward' to it in 1 function - ultra weird!
>
> If I remove any of the classes the load_classes line the behavior
> goes back to expected. I've tried lots of reordering, renaming,
> removing, etc etc. I actually have far more than 13 classes I want
> to load, so I've even tried interchanging which 13 I test with. As
> far as I can tell, loading more than 12 classes at a time here
> causes some sort of buffer overflow that ends up messing with my
> views. That really doesn't make any sense to me, but it is what I'm
> observing.
>
> Also, I notice that in the debug output when starting my server,
> both my views are present at all times, so it's not like the
> secondary view is getting used because the default one is missing.
>
> However, if I delete the class defining my secondary view then my
> default view starts working again. This seems to imply that having
> more than 12 classes loaded in my Model somehow changes my default
> view order...?!
>
> umm... help? =]
>
> ###############
> package MyAppDB;
>
> use base qw/DBIx::Class::Schema/;
> __PACKAGE__->load_classes({
>     MyAppDB => [qw/One Two Three Four Five Six Seven Eight Nine Ten
> Eleven Twelve Thirteen/]
> });
>
> ###############

hmm, I had the exact same situation (although the number of classes  
was somewhat higher, aprox. 25) when I used

Catalyst::Action::RenderView::ErrorHandler

I removed it and my app worked again. maybe this helps...

josef





More information about the Catalyst mailing list