<br><br><div><span class="gmail_quote">On 10/16/06, <b class="gmail_sendername">Rolf Schaufelberger</b> <<a href="mailto:rs@plusw.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rs@plusw.de</a>
> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>and force it to "ignore" this column, but without success.<br>Now I would like to know what is this column_info_from_storage<br>good for and why does the souce tell, it will be removed in 1.0 ?</blockquote>
<div><br>column_info_from_storage is something DBIC has done by default for a number of versions now. Basically, if you don't provide the column info yourself, it would try to guess it by querying the database itself. The only way to disable this feature was to provide a column info hashref which included the key "datatype" (that's why your other two examples didn't succeed in disabling it, you needed datatype in there for that to work).
<br><br>The feature has proved problematic for a lot of edge cases (such as yours), so we'd like to kill this feature, but on the other hand we don't want to unexpectedly break existing users that might be relying on it in the middle of a stable cycle.
<br><br>As a result, in 0.07002 we added ->column_info_from_storage(0) as a way to disable it per-source when you have problems. In 0.08xxx, the behavior will change from defaulting on to default off (that is, if you really want it enabled, you'll have to specify ->column_info_from_storage(1)), and in
1.0 it will finally go away completely.<br><br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Btw. the starting time for my app is now about 2 seconds with 58 tables which<br>is ,ehm, a bit slow ...</blockquote><div><br>It used to be even slower. The profiler will probably tell you a lot of time is spent in Class::C3 and Algorithm::C3, which we're slowly working on speeding up. One trick that has helped some in the past is to make a base class for all of your sources that loads the components (instead of ->load_components(qw/Core/) in every source, they just use base on a shared base class that does this).
<br></div><br></div>-- Brandon<br>