Overrides add_record to ensure uniqueness.
Jifty::DBI::Collection::Unique - Ensure uniqueness of records in a collection
package Foo::Collection;
use base 'Jifty::DBI::Collection';
use Jifty::DBI::Collection::Unique; # mixin
my $collection = Foo::Collection->New();
$collection->SetupComplicatedJoins;
$collection->OrderByMagic;
while (my $thing = $collection->Next) {
# $thing is going to be distinct
}
Currently, Jifty::DBI 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.
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.