I am not sure about the the example you have given, (Where the first row object remains in scope when the second call is made) but in the general case they are likey to be different.
Once a row object goes out of scope perl will Garbage collect it. If you want it back again you need to do another find, and DBIx::Class will look in the database, and inflate the row into a fresh instance of the class.
As far as I know DBIC does no caching behind the scenes of infated rows. I dare say that the developers of DBIC consider this a feature, as otherwise you could find yourself holding a stale object if another user of the databse changes the row. In any case if DBIC was caching row objects it would need a memory management system with weak references to avoid using up all your memory when you iterate over the rows of a large table.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|