DBIx::SearchBuilder::Unique - Ensure uniqueness of records in a collection
package Foo::Collection; use base 'DBIx::SearchBuilder'; use DBIx::SearchBuilder::Unique; # mixin my $collection = Foo::Collection->New(); $collection->SetupComplicatedJoins; $collection->OrderByMagic; while (my $thing = $collection->Next) { # $thing is going to be distinct }
Currently, DBIx::SearchBuilder makes exceptions for databases which
cannot handle both SELECT DISTINCT
and ordering in the same
statement; it drops the DISTINCT
requirement. This, of course, means
that you can get the same row twice, which you might not want. If that's
the case, use this module as a mix-in, and it will provide you with an
AddRecord
method which ensures that a record will not appear twice in
the same search.
Simon Cozens.
Copyright 2005 Best Practical Solutions, LLC
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.