On 5 Jan 2007, at 14:22, Ben Staude wrote:
Hi all,
I hope my question can be answered "generally" so I don't have to
go too much
into the details of my dbic setup...
Here's my problem:
I select rows in a table and use prefetch to also select a has_many
relationship. The select itself is ok, but it contains an "ORDER BY"
statement that I can't explain. It orders by the first column of the
connection table.
I eliminated every order_by in the project's complete source code;
it didn't
help. I don't use sort_column() anywhere.
If I add an order_by to the ResultSet attributes, this column is
added to the
ORDER BY in front of the "unwanted" sort-column.
This is added so the has_many prefetch returns are produced in the
right order, which makes things much more efficient and allows $rs-
>next to work with has_many prefetch. Since your explicit order_by
happens first, it should make no difference to the results you get,
it just makes it a lot more efficient for DBIC to get them for you.
--
Matt S Trout, Technical Director, Shadowcat Systems Ltd.
Offering custom development, consultancy and support contracts for
Catalyst,
DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for
details.
+ Help us build a better perl ORM: http://dbix-
class.shadowcatsystems.co.uk/ +
_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/